一、rsync简介
Rsync(remotesynchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用Rsync同步本地硬盘中的不同目录。
Rsync是用于取代rcp的一个工具,Rsync使用所谓的Rsync算法来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。您可以参考HowRsyncWorksAPracticalOverview进一步了解rsync的运作机制。
Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS。
Rsync的初始作者是AndrewTridgell和PaulMackerras,它当前由http://rsync.samba.org维护。
Rsync的基本特点如下:
1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接等;
3.无须特殊权限即可安装;
4.优化的流程,文件传输效率高;
5.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
6.支持匿名传输,以方便进行网站镜像。
在使用rsync进行远程同步时,可以使用两种方式:远程Shell方式(建议使用ssh,用户验证由ssh负责)和C/S方式(即客户连接远程rsync服务器,用户验证由rsync服务器负责)。
无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
rsync在首次复制时没有速度优势,速度不如tar,因此当数据量很大时您可以考虑先使用tar进行首次复制,然后再使用rsync进行数据同步。
二、系统环境
系统平台:CentOSrelease6.3(Final)
rsync版本:rsync-3.0.9-2.el6.rfx.x86_64.rpm
rsync服务器:TS-DEV(172.16.1.135)