rsync

rsync命令三种模式:
1.本地模式
rsync  [选项]  [源文件]   [目标文件]

2.通过远程shell访问模式
拉取: rsync [选项]  用户@主机:源文件   [目标文件]
推送: rsync [选项]  [源文件]  用户@主机:目标文件 
  
3.守护进程模式
拉取:
rsync [选项]  用户@主机::源文件   [目标文件]
rsync [选项]  rsync://用户@主机:端口/源文件   [目标文件]

推送:
rsync [选项]  [源文件]  用户@主机::目标文件    
rsync [选项]  [源文件]  rsync://用户@主机:端口/目标文件   
 
参数选项:
-v,--verbose   详细模式输出,传输时的进度等信息。
-z,--compress  传输时进行压缩以提高传输效率,--compress-level=NUM 可安级别压缩。
-a,--archive  以递归方式传输文件,并保持所有文件的属性,相当于 -rtopgDl  。
-r,--recursive  对子目录以递归模式,即目录下的所有目录都以同样的方式模式传输。
-t,--times   保持文件的时间信息。
-o,--owner  保持文件的属主信息。
-p,--perms  保持文件的权限。
-g,--group   保持文件的属组信息。
-P,--progress  显示同步的过程及传输时的进度等信息。
-D,--devices   保持设备文件信息。
-l,--links   保留软链接。
-e,--rsh=COMMAND   使用信道协议,指定替代rsh的shell程序,如ssh。
-n   测试选项,模拟执行。
--exclude=PATTERN   指定排除不需要传输的文件模式(和tar参数一样)。
--exclude-from=FILE   从文本文件读取需要排除的文件列表。
--bwlimit=KBPS   限制传输速度。
--delete   使目标目录内容和源保持目标一致,删除不同的文件。
 
 
经验技巧:
1.生产场景常用选项:-avz ,相当于 -rtopgDl 。如果在脚本中可以省略 -v 选项。
2.关于z压缩选项的使用建议,如果为内网环境,且没有其他业务占用带宽,可以不使用z选项。
不压缩传输,几乎可以满带宽传输(千M网络),压缩传输则网络发送速度就会骤降,压缩的速率赶不上传输的速度。 如果源目录的末尾有斜线,就会复制目录内的内容,而不是复制目录本身 rsync
-av data1/ data2/ 如果源目录没有斜线,则会复制目录本身及目录下的内容 rsync -av data1 data2 本地复制的例子(类似CP) rsync -av /etc/hosts /tmp 删除文件的特殊例子(--delete) 说明:假设一个目录下有几十万个文件,用此方法可以最快删除所有文件。
选项
--delete使 /tmp 目录内容和空目录 /null 保持一致,即/null 有什么内容, /tmp 目录就会有什么内容。下面例子会把 /tmp目录下所有文件都删除。 rsync -av --delete /null /tmp 拉取文件及目录 rsync -av 192.168.190.18:/tmp /tmp 推送文件及目录 rsync -av /tmp 192.168.190.18:/tmp 利用ssh隧道模式(-e)拉取推送文件及目录 拉取: rsync -av -e 'ssh -p 22' /tmp 192.168.190.18:/tmp/ 推送: rsync -av -e 'ssh -p 22' 192.168.190.18:/tmp/ /tmp



原文地址:https://www.cnblogs.com/l10n/p/9416697.html