介绍
Rsync(remote synchronize)是一个远程数据同步工具。
Rsync使用“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
Rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时Rsync server会打开一个873端口,等待客户端去连接。
主要特点:
- 可以镜像保存整个目录树和文件系统。
- 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
- 无须特殊权限即可安装。
- 优化的流程,文件传输效率高。
- 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
- 支持匿名传输。
核心算法
配置文件
|
|
模块定义
主要是定义服务器哪个目录要被同步,我们可以根据自己的需要,来指定多个模块。每个模块要指定认证用户,密码文件。
|
|
rsyncd.secrets的内容格式为:用户名:密码,文件属性设为root拥有,且权限要设为600,出于安全目的,文件的属性必需是只有属主可读。
启动rsync服务器
|
|
启动前,先service iptables stop将防火墙关掉
rsync参数及实例
rsync中的参数:
|
|
查看服务端可用的模块列表以及注释信息
|
|
查看服务端dbback模块中的目录及文件列表
|
|
推送符号链接目录
|
|
拉取含符号链接目录
|
|
以服务的方法同步
|
|