scp 安全拷贝文件 & rsync远端文件同步操作

Tags
linux
Created
Jan 8, 2016 12:04 PM

scp 基于 SSH

但当小文件众多的情况下,rsync 会导致硬盘I/O非常高,而 scp 基本不影响系统正常使用

远端路径类似于 host:/path/ ,host可以用 ssh 的配置,一般是“用户@地址”。

有空格:在空格前加斜杠,整个文件目录加引号

scp [参数] [原路径] [目标路径]

  • C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  • p 保留原文件的修改时间,访问时间和访问权限。
  • q 不显示传输进度条。
  • r 递归复制整个目录。
  • v 详细方式显示输出。

也可以直接用:$ cd && tar czv src | ssh user@host 'tar xz'

SSH情况下,rsync 客户端运行程序必须同时在本地和远程机器上安装。

格式跟 scp 一样

  • a 文档归档,相当于-rlptgoD
  • v 详细方式显示输出。
  • H 同步硬链接

–progress 显示进度条

–delete 删除原路径不存在的远端文件

  • t 对比时间戳和文件大小,相同(但有可能内容不同)则不会同步
  • I 挨个同步,modify time改变
  • z 压缩,一般情况下,-z的压缩算法会和gzip的一样。
  • r 选项,即recursive(递归的、循环的)
  • l 保持软链接文件类型
  • L 同步软链接源文件
  • p 同步权限 perserve permissions

rsync -avP --delete build devbox:/opt/fe

用密码作为命令行参数:

rsync --rsh="/usr/bin/sshpass -p "password" ssh -o StrictHostKeyChecking=no -l root" /source/file/path [email protected]:/destination/file/path
SuperMade with Super