rsync是linux下高效同步数据工具。可以用于本地数据同步,也可用于本地与远程的数据同步。

基本语法: rsync SRC DEST

  • 本地同步
    1. 目录同步
      $ rsync -vr mydoc/ /tmp/mydoc # -a 保留文件目录的属性
      
    2. 排除文件
      $ rsync -vr --exclude="*.jpg" mydoc/ /tmp/mydoc #
      
    3. 从配置文件中读取需要排除的文件
      $ rsync -vr --exclude-from="exclude.file" mydoc/ /tmp/mydoc
      $ cat exclude.file
        *.jpg
        file*
      
  • 远程同步
    • shell方式
      $ rsync -rv user@www.example.com:~/mydoc . #下载文件
      $ rsync -rvP mydoc/ user@www.example.com:~/mydoc #上传文件
      
    • rsync daemon方式
      $ rsync -rv user@www.example.com::~/mydoc . #下载文件方式1
      $ rsync -rv mydoc/ user@www.example.com::~/mydoc #上传文件方式1
      $
      $ rsync -rv rsync://user@www.example.com/mydoc . #下载文件方式2
      $ rsync -rv mydoc/ rsync://user@www.example.com/mydoc #上传文件方式2
      

      Ubuntu默认已经安装,编辑/etc/default/rsync以便开启rsync后台服务进程

参考资料

  1. https://linux.die.net/man/1/rsync
  2. https://en.wikipedia.org/wiki/Rsync