此篇介绍一下rsync文件传输和同步工具。

rsync介绍

rsync命令即代表remote sync,是一个文件传输和同步备份工具。它可以将一个客户机和远程文件服务器之间的文件进行同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。

如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。
rsync可以执行完整备份或增量备份。

rsync特点

  1. 可以镜像保存整个目录树和文件系统;
  2. 可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;
  3. 可以增量同步数据,文件传输效率高,因而同步时间短;
  4. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
  5. 支持匿名传输,以方便进行网站镜象等;
  6. 加密传输数据,保证了数据的安全性;

rsync使用

- 从本地同步文件到远程:
    rsync [本地文件路径] [远程主机]:[远程目录]

- 从远程同步文件到本地:
    rsync [远程主机]:[远程文件] [本地文件路径]

- 传输压缩文件 (保留属性) 并带有详细的传输进度信息:
    rsync -azvhP [本地文件路径] [远程主机]:[远程目录]

- 从远程到本地传输一个目录及其子文件:
    rsync -r [远程主机]:[远程目录] [本地文件路径]

- 从远程到本地传输一个目录的内容(不包括目录本身):
    rsync -r [远程主机]:[远程目录/] [本地文件路径]

- 从远程传输文件(仅传输更新的文件):
    rsync -ru [远程主机]:[远程目录] [本地文件路径]

- 通过SSH传输文件并且删除在远程主机上不存在的本地文件:
    rsync -e ssh --delete [远程主机]:[远程目录] [本地文件路径]

- 通过SSH传输并显示全局进度:
    rsync -e ssh --info=progress2 [远程主机]:[远程文件] [本地文件路径]