Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > 在Linux下远程使用scp拷贝文件
【标  题】:在Linux下远程使用scp拷贝文件
【关键字】:Linux,scp
【来  源】:http://www.cublog.cn/u/21012/showart.php?id=154692

在Linux下远程使用scp拷贝文件

Your Ad Here

在Linux下远程使用scp拷贝文件

用"scp"拷贝文件
SSH提供了一些明令和shell用来登录远程服务器。在默认情况下它不允许你拷贝文件,但是还是提供了一个"scp"命令。

假定你想把本地计算机当前目录下的一个名为"dumb"的文件拷贝到远程服务器www.foobar.com上你的家目录下。而且你在远程服务器上的帐号名为"bilbo"。可以用这个命令:

scp dumb bilbo@www.foobar.com:.

把文件拷贝回来用这个命令:

scp bilbo@www.foobar.com:dumb .

"scp"调用SSH进行登录,然后拷贝文件,最后调用SSH关闭这个连接。

如果在你的"~/.ssh/config"文件中已经为www.foobar.com做了这样的配置:

Host *fbc
HostName www.foobar.com
User bilbo
ForwardAgent yes

那么你就可以用"fbc"来代替"bilbo@www.foobar.com",命令就简化为"scp dumb fbc:."。

"scp"假定你在远程主机上的家目录为你的工作目录。如果你使用相对目录就要相对于家目录。

用"scp"命令的"-r"参数允许递归地拷贝目录。"scp"也可以在两个不同的远程主机之间拷贝文件。

关于SSH的详细信息,可以参考http://www.linuxaid.com.cn/engineer/brimmer/html/ssh.htm

scp user@host:/path/to/files  local_file_name

拷贝到远程

scp local_file_name user@host:/path/to/files 

ftp:

wget ftp://ftp.isc.org/isc/bind9/9.2.2/bind-9.2.2.tar.gz

http://blog.chinaunix.net/u/8983/showart.php?id=55609

http://www.unix206.com/8/166189.html

scp命令

scp命令是SSH中最方便有用的命令了,试想,在两台服务器之间直接 传送文件,仅仅用scp一个命令就完全解决了。 你可以在一台服务器上 以root身份运行#scp servername:/home/ftp/pub/file1 . 这样就把另 一台服务器上的文件/home/ftp/pub/file1直接传到本机器的当前目录下,当然你也可以用#scp /tmp/file2 servername:/boot 把本机上的文件/tmp/file2送到另一台机器的/boot目录下。而且整个传送过程仍然是 用SSH加密的。

 

openssh 妙用之远程执行命令---自动下载apache日志文件

应用,一切都是应用!

本文介绍了2个点:一个是利用ssh直接登陆别的机器(不需要密码了),另外一个就是配置apache每隔一段时间自动切换日志文件。这一切通过一个autosftp.sh.v2的脚本这个实例来介绍。

openssh 妙用之远程执行命令---自动下载apache日志文件

一. 前期准备

目标: 需要把多台机器上的apache日志自动下载到本地进行分析

背景:
    1. web主机共有3台,分别为web1 web2 web3 均为solaris系统
    2. 本地机器traffic为linux 7.3
    3. 整个过程需要自动执行不需要人工干预
    4. 考虑采用安全的ssh协议来传输日志文件
   
思路:
    1. 配置traffic和web主机之间ssh工具可以直接登陆
    2. 配置web主机上的apache每天自动切换日志,不再往前一天日志写入。
    3. traffic上执行脚本自动压缩web主机上的日志文件,然后下载到本地
    4. traffic执行本地命令解压缩下载下来的日志文件
   
二. 实施过程

    1. 配置traffic和web主机之间ssh工具可以直接登陆
   
       1.1 编辑traffic的hosts文件增加web主机条目
      
           ......
           203.81.*.*            web1
           203.81.*.*            web2
           203.81.*.*            web3
       1.2 生成ssh客户密匙

           #ssh-keygen -t rsa

           屏幕显示(为生成公匙密匙文件和等,全部回车即可)
           Generating public/private rsa key pair.
           Enter file in which to save the key (/root/.ssh/id_rsa):  

           Enter passphrase (empty for no passphrase):
           Enter same passphrase again:
           Your identification has been saved in /root/.ssh/id_rsa.
           Your public key has been saved in /root/.ssh/id_rsa.pub.
           The key fingerprint is:
           d1:69:34:80:56:2a:2d:df:70:2d:10:ac:63:5e:1e:1c root@web
         
        1.3 生成后,将本地的id_rsa.pub复制到远程的./ssh目录下,更改名称为authorized_keys2

            sftp root@web1
            sftp web1
            Connecting to web1
            root@web1's password: (输入密码)
            sftp>
            sftp>cd .ssh
            sftp>put id_rsa.pub  authorized_keys2
            Uploading id_rsa.pub to /.ssh/authorized_keys2
           
        1.4 测试是否成功
       
            scp web1:/usr/local/apache2/logs/hoho /root/    复制远程的hoho文件到本地的/root/.ssh目录下,无需输入密码
            hoho        100%   40KB  40.2KB/s   00:00 (屏显状态值,显示已传输完毕,文件可正常使用)
        1.5 补遗或者注解
       
            a. 第一次登陆web1,ssh会提示将web1加入自己know_hosts里面。
            b. 直接登陆验证是区别用户的,authorized_keys2文件是分用户的。
    
     2. 配置web主机的每天自动切换日志文件
    
        在配置文件中加入下面两句,如果有虚拟主机就加到虚拟主机的配置里面
       
        CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/mytestsite-access_log.%Y%m%d 86400" combined

        TransferLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/mytestsite-access_log.%Y%m%d 86400
   
     3. traffic上自动执行的脚本
    
 #!/bin/bash
# This script is for auto download the log life of apache
# editor anwei,green
# version 2.0
# add 2 parameters GateWay & LogFile
# add more information for debug
# add The starting time & the ending of time

#  step 1 : parameters setting ,add default gateway
Dest_dir=/data/logs
Sour_dir=/usr/local/apache2/logs
LogFile=mytestsite-access_log
Host_table="web1 web2 web3"
Date=`date +%Y%m%d -d '-1 day'`
GateWay=192.168.1.1
echo Beginning:`date +'%Y/%m/%d %H:%M'`
/sbin/route add default gw $GateWay
#  step 2 : compress log file

for loop in $Host_table

  do

    ssh $loop "/usr/bin/gzip $Sour_dir/$LogFile.$Date " && echo $loop : compress apache log file complete.

  done

#  step 3 : download form web server

for loop in $Host_table

  do

    scp $loop:$Sour_dir/$LogFile.$Date.gz $Dest_dir/$loop && echo $loop : download apache log file complete.

  done

#  step 4 : uncompress log files

for  loop in $Host_table

  do

    /bin/gzip -df $Dest_dir/$loop/$LogFile.$Date.gz
    /bin/cat   $Dest_dir/$loop/$LogFile.$Date > $Dest_dir/$loop/$LogFile && echo $loop : log files Ready now.

  done

/sbin/route delete default gw $GateWay
echo End:`date +'%Y/%m/%d %H:%M'`
      
     4. traffic上面部署cron任务自动执行
    
        15 8 * * * /tools/autosftp.sh.v2 >> /tools/sftp.log 2>&1
       
       
     5. 每天可以通过检查sftp.log的内容查看脚本的执行情况
    
        实际运行一周以来,全部顺利执行结束,下面是sftp.log的片断
       
Beginning:2005/11/06 08:15
web1 : compress apache log file complete.
web2 : compress apache log file complete.
web3 : compress apache log file complete.
web1 : download apache log file complete.
web2 : download apache log file complete.
web3 : download apache log file complete.
web1 : log files Ready now.
web2 : log files Ready now.
web3 : log files Ready now.
End:2005/11/06 08:46

inetd:【上一篇】
imapd:【下一篇】
【相关文章】
  • UNIX平台下远程拷贝文件的方法--SCP
  • 在linux下使用远程拷贝命令scp时会出现密码提示?
  • 用户模式 Linux 虚拟机介绍 用户模式 Linux 虚拟机介绍
  • LINUX学习笔记:显示目录下的常规文件
  • Linux Device Drivers学习笔记1--Chapter.1 An Inroduction of Device Drivers
  • MySQL :: Linux 下自动备份数据库的 shell 脚本
  • Linux之父表态支持DRM技术 称可提高安全性
  • linux下C程序开发的编译
  • Linux下设置系统时间
  • 嵌入式Linux图形系统
  • 【随机文章】
  • Maya 设计闪动的霓虹灯
  • SVNParentPath和SVNPath 关于accessfile的区别
  • 篇文章,包括每个软件后面的文章链接
  • GDB 的文档
  • Cygwin的简介以及使用方法
  • 利用正则表达式限制网页表单里的文本框输入内容
  • Creating redundant network interfaces with os 2.8
  • Ajax还是Ajah,这是个问题
  • meeting log of exchange server
  • 软件推荐:思维导图(FreeMind)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.