一、rsync介绍
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
从字面上的意思你可以理解为remote sync (远程同步)这样可以让你理解的更深刻一些。Rsync不仅可以远程同步数据(类似于scp [1]),当然还可以本地同步数据(类似于cp),但不同于cp或scp的一点是,rsync不像cp/scp一样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时才会把不同的部分覆盖掉。如果你的linux没有rsync命令请使用 yum install -y rsync 安装。
二、rsync常用选项
rsync
-a 包含了-rtplgoD
-r 同步目录时要加上,类似cp时的-r选项
-v 同步时显示一些信息,让我们知道同步的过程
-l 保留软连接
-L 加上该选项后,同步软连接的源文件(若另外一台机器里没有源文件,则同步软件连接过去也是无效的)
-p 保持文件的权限属性
-o 保持稳健的属主
-g 保持稳健的属组
-D 保持设备文件信息
-t 保持文件的时间属性
-P 显示同步过程,比如速率,比-v更详细
-u 如果目标中的文件比源文件还有新,则不同步,以目标文件中新的为主
-z 传输时压缩(加快传输速度,节省带宽)
--delte 删除目标目录中源目录里没有的文件
--exclude 过滤指定文件,如--exclude "logs"会把文件名包含Logs的文件或者目录过滤掉不同步
三、rsync六种模式