1. Rsync介绍
1.1 什么是Rsync?
Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀
工具。Rsync软件适用于unix/linux/windows等多种操作系统平台。
官方网站:https://rsync.samba.org
1.2 Rsync简介
Rsync英文全称为Remote synchronization,从软件的名称就可以看出来,Rsync具有可使本地
和远程主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似ssh带的scp命令,
但又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。
当然,Rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这又类似cp命令,但同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。
小提示: 利用rsync还可以实现删除文件和目录的功能,这又相当于rm命令!
一个rsync相当于scp,cp,rm ,但是还优于他们每一个命令。
centos5,rsync2.x 对比方法,把所有的文件对比一遍,然后进行同步。
centos6,rsync3.x 比对方法,一边比对差异,一边对差异进行同步。
1.3 Rsync的特性
●支持拷贝特殊文件如连接文件,设备等。
●可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。
●可以做到保持原文件或目录的权限、时间、软硬连接、属主、组等所有属性均不改变(-p参数)
●可实现增量同步,即只同步发生变化的数据,因此数据传输效率很高(tar -N)
●可以使用rcp,rsh,ssh等方式来配合传输文件(rsync本身不对数据加密)
●可以通过socket(进程方式)传输文件和数据(服务端和客户端)*
●支持匿名的
1.4 Rsync常用参数选项说明
-v —verbose详细模式输出,传输时的进度等信息
-z —compress 传输时进行压缩以提供传输效率,—compress-level=NUM可按级别压缩。
-a –archive 归档模式,表示已递归方式传输文件,并保持所有文件属性,等于 -rtopgDl
-r —recursive 对子目录以递归模式,即目录下的所有目录都同样传输(小写r)
-t —time保持文件时间信息
-o —owner保持文件属主信息
-p —perms保持文件权限
-g —group保持文件属组信息
-P —progress 显示同步的过程及传输的进度等信息(大写P)
-D —devices保持设备文件信息
-l —links保留软连接(小写字母l)
-e —rsh=COMMAND使用的信通协议,指定替代rsh的shell程序,例如ssh
—exclude=PATTERN 指定排除不需要传输的文件模式
—exclude-from=file(文件名所在的目录文件)
—bwlimit=RATE limit scoket I/O bandwidth
—delete 让目标目录DST和源目录SRC数据一致
2. Rsync优缺点:
2.1 rsync优点
- 增量备份,支持socker(daemon),集中备份(支持推拉,都是以客户端为参照物)。
- 远程SHELL通道模式还可以加密(SSH)传输,socket(daemon)需要加密传输,可以利用
vpn服务或ipsec服务。
2.2 rsync缺点
- 大量小文件同步的时候,对比时间较长,有的时候,rsync进程会停止。
- 同步大文件,10G这样的大文件有时也会有问题,比如中断。未完整同步前,是隐藏文件。
可以通过续传等参数实现传输。
一次性远程拷贝可以用scp。