实例

特定端口 ssh 传输

rsync -e 'ssh -p 3333' test.c ustc@172.16.0.172:/home/ustc

将/etc/fstab拷贝到/tmp目录下

rsync /etc/fstab /tmp

将/etc/cron.d目录拷贝到/tmp下

rsync -r /etc/cron.d /tmp

将/etc/cron.d目录拷贝到/tmp下,但要求在/tmp下也生成etc子目

rsync -R -r /etc/cron.d /tmp

拷贝源路径较长,但只保留一部分目录结构,使用一个点代表相对路径的起始位置

rsync -R -r /var/./log/anaconda /tmp

对远程目录下已存在文件做备份,备份后缀为"~",使用"--suffix"指定后缀

rsync -R -r --backup /var/./log/anaconda /tmp

指定备份文件保存路径,默认将不会加备份后缀,使用"--suffix"显式指定后缀

rsync -R -r --backup --backup-dir=/tmp/log_back /var/./log/anaconda /tmp

.指定ssh连接参数,如端口、连接的用户、ssh选项等

rsync -e "ssh -p 22 -o StrictHostKeyChecking=no" /etc/fstab 172.16.10.5:/tmp

使用"--existing"选项使得只更新目标端已存在的文件

rsync -r -v --existing /tmp/a/ /tmp/b

"--ignore-existing"更新目标端不存在的文件

rsync -r -v --ignore-existing /tmp/a/ /tmp/b

--remove-source-files删除源端文件

rsync -r -v --remove-source-files /tmp/a/anaconda /tmp/a/audit /tmp

使用--exclude选项指定排除规则,排除那些不需要传输的文件。

rsync -r -v --exclude="anaconda/*.log" /var/log/anaconda /var/log/audit /tmp