rsync详解
2015-06-10 17:08
225 查看
1 rsync简介
rsync(remote synchronize)是远程同步工具,通过LAN/WLAN,使用rsync算法(只传送两台主机间的文件的不同部分)快速同步多台主机间的文件。
rsync可以通过rsh/ssh使用,也可以通过daemone模式去运行,以daemone模式运行时Rsync Server会打开873端口等待客户端连接。
第一次连通时,会把整份文件传输一次,以后只要进行增量备份
rsync基本特点:
1)可以镜像保存整个目录树和文件系统
2)保存原来文件权限、时间、软硬链接
3)无须特殊权限安装
4)优化流程,传输效率高
5)可使用rsh、ssh等方式来传输,也可以通过socket连接
6)支持匿名传输
2 rsync算法
1、2号两台计算机之间同步相似文件A、B
1)2号将文件B分割成固定大小为S字节的数据块(最后一个数据块可能小于S)
2)2号对每一个数据块进行32位滚动弱校验和128位MD4强校验
3)2号将校验结果发给1号
4)1号通过搜索文件A所有大小为S的数据块(偏移量任选,未必是S的整数倍),寻找到与B的某一块具有相同若校验码和强校验码的数据块(借助滚动校验特性快速完成)
5)1号发送给2号一串指令生成A在2号上的备份。每一条指令要么是对文件B已经拥有某个文件块而不需重传的证明,要么是一个没有匹配上的数据块
rsync(remote synchronize)是远程同步工具,通过LAN/WLAN,使用rsync算法(只传送两台主机间的文件的不同部分)快速同步多台主机间的文件。
rsync可以通过rsh/ssh使用,也可以通过daemone模式去运行,以daemone模式运行时Rsync Server会打开873端口等待客户端连接。
第一次连通时,会把整份文件传输一次,以后只要进行增量备份
rsync基本特点:
1)可以镜像保存整个目录树和文件系统
2)保存原来文件权限、时间、软硬链接
3)无须特殊权限安装
4)优化流程,传输效率高
5)可使用rsh、ssh等方式来传输,也可以通过socket连接
6)支持匿名传输
2 rsync算法
1、2号两台计算机之间同步相似文件A、B
1)2号将文件B分割成固定大小为S字节的数据块(最后一个数据块可能小于S)
2)2号对每一个数据块进行32位滚动弱校验和128位MD4强校验
3)2号将校验结果发给1号
4)1号通过搜索文件A所有大小为S的数据块(偏移量任选,未必是S的整数倍),寻找到与B的某一块具有相同若校验码和强校验码的数据块(借助滚动校验特性快速完成)
5)1号发送给2号一串指令生成A在2号上的备份。每一条指令要么是对文件B已经拥有某个文件块而不需重传的证明,要么是一个没有匹配上的数据块
相关文章推荐
- nodejs 运行
- POJ 2195
- POJ 2192
- SQLServer学习笔记系列5
- php日期:日期比较
- php.ini参数详解
- CentOS安装mysql*.rpm提示conflicts with file from package的解决办法
- {00024500-0000-0000-C000-000000000046} ...800703fa 试图在标记为删除的注册表项上进行不合法的操作。 (异常来自 HRESULT:0x800703FA)
- eclipse启动tomcat无法访问
- 二十三种设计模式
- 深入了解MyBatis返回值
- [android]Xutils详细介绍
- 安装配置PhoneGap开发环境(一)
- pthread_mutex_init & 互斥锁pthread_mutex_t的使用
- nodejs shell
- Android中级教程(二)之调用另一个Activity---Intent对象的使用!
- POJ 2182
- POJ 2181
- SQLServer学习笔记系列4
- SQLServer学习笔记系列3