Rsync特性缺点及应用模式
Rsync 是*unix下文件同步和数据传输工具。使用“Rsync 算法”来同步本地和远程主机文件,这个算法只传送两个文件的不同部分,而不是像scp每次都传送全部,因此速度相当快。
一.Rsync 特性
可以镜像保存整个目录和文件系统
可以增量同步数据,文件传输效率高,传输时间短
可以保持原有的文件权限,时间等文件属性
加密传输数据,保证数据安全性
可以使用rcp,ssh 等方式来传输,也可以直接socket连接传输文件
支持匿名传输
Rsync 支持大多数的类 Unix 系统,它在windows 平台下也有相应的版本,比较知名的有 cwRsync 和 Sync2NAS。
二.Rsync4种应用模式
1.本地shell模式(类似cp)
rsync -av 源参数 目标参数
如果源参数末尾有“/” 是将源目录下的内容复制出来
没有“/”时则将源目录复制出来
2.远程shell 模式(类似scp)
rsync -av 源参数 user@192.168.1.41:/tmp/
rsync -av user@192.168.1.41:/tmp/a.txt /opt/
3.列表模式 (类似 ls)
rsync -a user@192.168.1.41:/tmp
rsync -a /opt/
4.服务器模式
基于c/s模式,rsync服务器端 以守护进程方式永久运行,用于接受文件传输请求,客户端可以把文件发送给服务器端,也可以从服务器端请求文件
三.rsync 缺点
1.不能实时同步
2.当文件数量达到百万级以上时,客户端同步时扫描改变的文件非常耗时
3.单向同步
四.一些补充
针对不能实时同步和单向同步,有以下方案可以解决
1.配合inotify 实现实时备份
inotify是linux 内核支持的功能,通过inofity可以监控文件系统中添加,删除,修改,移动等各种细微事件,利用这个内核接口,配合inotify-tools可以监控文件系统下文件的各种变化情况,并触发rsync同步
2.unison 双向同步
unison基于 “rsync 算法”对两端文件进行比较,并更新到一致状态
特点:
跨平台
对内核和用户没有特殊要求
双向同步,自动更新
只要能连通的主机就可以运行,可以通过ssh 和socket方式,对宽带要求不高
支持增量同步
Rsync详细配置方法见:
http://www.52os.net/install-and-configure-rsync-to-synchronous-files.html