rsync经典用例总结

rsync是经典的数据传输工具,但本篇博客总结的既不细致,也不全面。惭愧,惭愧。。。

备份更新

1
rsync -avzP -b --suffix=$(date "+.bak%Y%m%d%H%M%S") --backup-dir=/data/backup/  ${src}  ${dst}
  • 备份目录下如果存在同名文件会被新的备份文件强制覆盖
  • -b –suffix 既适用推送也适用于拉取,但是都是在dest侧备份
  • -b –backup-dir 仅适用于拉取,推送数据时适用会报错
  • 另外mv命令也有备份实现方案alias mv='mv -v -b -S "$(date "+.mvbak%Y%m%d_%H%M")"'

递归创建目录

1
rsync -avzP -R src dest
  • -R 参数会在dest目录基础上递归创建src目录路径,如rsync -avzP -R 10.0.0.1::data/data/test1/test2/test3 /data/test,在本地会生成路径/data/test/data/test1/test2/test3

慎用–delete

1
2
3
4
5
6
7
8
9
10
rsync -avzP --delete 10.0.0.1::data/data/test /data/test        //该种写法会在/data/test下再创建一层test目录,不会删除/data/test的其它目录

rsync -avzP --delete 10.0.0.1::data/data/test/ /data/test //该种写法会将本地/data/test目录下的文件与src目录强一致
的效果是截然不同的,自己体会下。细思极恐。。。

另外,
rsync -avzP --delete 10.0.0.1::data/data/test/ /data/test

rsync -avzP --delete 10.0.0.1::data/data/test/* /data/test //该种写法会将src目录下的子文件和目录和本地/data/test中的同名子文件和目录进行强一致,本地/data/test中的其它文件目录不会被删除
的效果也不同,使用时要十分谨慎。

rsync认证

  • RSYNC_PASSWORD仅适用于rsync协议,rsync配置中指定的用户密码,rsync服务需要通过daemon方式启动;

    1
    export RSYNC_PASSWORD="passwd"
  • rsync协议使用的两种方式

    • rsync 协议

      1
      2
      rsync rsync://username@1.2.3.4:/abc /def
      rsync 1.2.3.4::abc/ /def
    • ssh 协议

      1
      rsync 1.2.3.4:/abc/ /def
      • 仅适用rsync客户端,通过ssh协议传输

参考

冷月无声 wechat
关注也是一种力量
-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:rsync经典用例总结

文章作者:冷月无声

发布时间:2018年12月04日 - 12:12

最后更新:2019年03月04日 - 18:03

原始链接:https://www.lengyuewusheng.com/2018/12/04/00053_rsync经典用例总结/

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!