0%

rsync

工欲善其事,必先利其器。

一、概念

      rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它不仅可以远程同步数据(类似于scp命令),还可以本地同步数据(类似于cp命令)。不同于cp或scp的一点是,使用rsync命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。

二、使用

  1. 本地同步

    • 本地之间备份同步rsync -avz /home/www/rsync_test /www
  2. 远程同步

    • 本地文件上传到远程服务器:rsync -avz -e "ssh -i /root/xxx.pem" /home/www/rsync_test root@ip:/home/www/
    • 远程服务器文件下载到本地:rsync -avz -e "ssh -i /root/xxx.pem" root@ip:/home/www/test /root
    • 跨服务器同步(无需本地中转):rsync -avz -e "ssh -i /root/xxx.pem -p 22" root@ip1:/home/source/ root@ip2:/home/dest
      • The source and destination cannot both be remote.
  3. 高级使用

    • 指定秘钥
    • 增量备份
    • 排除文件
    • 包含特定
    • 限速传输
    • 校验模式
    • 保留符号链接

三、扩展

  1. sync
  2. ansible

四、参考

  1. 参考一
  2. 参考二
  3. 参考三
  4. 参考四