SCP命令

   scp [options] SRC... DEST/

  两种方式: 

      scp [options] [user@]host:/sourcefile  /destpath 

      scp [options] /sourcefile  [user@]host:/destpath

   常用选项:  -C: 压缩数据流  -r: 递归复制  -p: 保持原文件的属性信息  -q: 静默模式  -P PORT: 指明remote host的监听的端口 

   scp在复制数据的时候不会检查数据是否发生改变都会全部重新拷贝一遍,这种操作效率比较低下.

 

rsync命令

     基于ssh和rsh服务实现高效率的远程系统之间复制文件 

     使用安全的shell连接做为传输方式

     能实现不同主机之间指定目录中文件数据的同步   rsync只会拷贝发生变化的文件,没有发生变化的文件默认不会进行复制

      • rsync  –av   /etc      server1:/tmp       复制目录和目录下文件

      • rsync  –av  /etc/     server1:/tmp        只复制目录下文件 

      比scp更快,只复制不同的文件 

         选项: -n 模拟复制过程     -v 显示详细过程

                     -r 递归复制目录树   -p 保留权限

                     -t 保留时间戳           -g 保留组信息

                     -o 保留所有者信息    -l 将软链接文件本身进行复制(默认)

                     -L 将软链接文件指向的文件复制        -a 存档,相当于–rlptgoD        但不保留ACL(-A)和SELinux属性(-X) 

 

Pssh命令

   pssh是一个python编写可以在多台服务器上执行命令的工具,也可实现文件复制 

   pssh  -h  ip.txt   -i   "useradd testuser"

  选项如下: 

        --version:查看版本 

       -h:主机文件列表,内容格式”[user@]host[:port]” 

       -H:主机字符串,内容格式”[user@]host[:port]” 

        -l:登录使用的用户名 

       -p:并发的线程数【可选】 

       -o:输出的文件目录【可选】 

       -e:错误输入文件【可选】 

       -t:TIMEOUT 超时时间设置,0无限制【可选】 

      -O:SSH的选项  

      -v:详细模式 

      -A:手动输入密码模式 

      -x:额外的命令行参数使用空白符号,引号,反斜线处理 

      -X:额外的命令行参数,单个参数模式,同-x 

       -i:每个服务器内部处理信息输出 

       -P:打印出服务器返回信息 

   pscp.pssh功能是将本地文件批量复制到远程主机 

   pslurp.pssh功能是将远程主机的文件批量复制到本地