此篇介绍一下rsync文件传输和同步工具。
rsync介绍
rsync命令即代表remote sync,是一个文件传输和同步备份工具。它可以将一个客户机和远程文件服务器之间的文件进行同步,也可以在本地系统中将数据从一个分区备份到另一个分区上。
如果rsync在备份过程中出现了数据传输中断,恢复后可以继续传输不一致的部分。
rsync可以执行完整备份或增量备份。
rsync特点
- 可以镜像保存整个目录树和文件系统;
- 可以很容易做到保持原来文件的权限、时间、软硬链接;无须特殊权限即可安装;
- 可以增量同步数据,文件传输效率高,因而同步时间短;
- 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
- 支持匿名传输,以方便进行网站镜象等;
- 加密传输数据,保证了数据的安全性;
rsync使用
- 从本地同步文件到远程:
rsync [本地文件路径] [远程主机]:[远程目录]
- 从远程同步文件到本地:
rsync [远程主机]:[远程文件] [本地文件路径]
- 传输压缩文件 (保留属性) 并带有详细的传输进度信息:
rsync -azvhP [本地文件路径] [远程主机]:[远程目录]
- 从远程到本地传输一个目录及其子文件:
rsync -r [远程主机]:[远程目录] [本地文件路径]
- 从远程到本地传输一个目录的内容(不包括目录本身):
rsync -r [远程主机]:[远程目录/] [本地文件路径]
- 从远程传输文件(仅传输更新的文件):
rsync -ru [远程主机]:[远程目录] [本地文件路径]
- 通过SSH传输文件并且删除在远程主机上不存在的本地文件:
rsync -e ssh --delete [远程主机]:[远程目录] [本地文件路径]
- 通过SSH传输并显示全局进度:
rsync -e ssh --info=progress2 [远程主机]:[远程文件] [本地文件路径]