rsync文件同步
remote synchronize是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。
也可以使用 rsync 同步本地硬盘中的不同目录。
rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync算法 进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync 基于inotify 开发
环境:Centos6
客户端:192.168.168.129
服务端:192.168.168.130
129作为服务端,130作为客户端(130从129拉取监控目录(/data/html/)下的文件)
结构描述
服务端配置
安装rsync:
yum install -y rsync
配置密码:
vi /etc/rsync.password hello:123123
修改文件访问权限
chmod 600 /etc/rsync.password
编辑配置文件
vi /etc/rsyncd.conf
内容如下:
uid = root gid = root use chroot = no max connections = 200 hosts allow = * timeout = 600 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock ignore errors read only = false list = false host deny = 0.0.0.0/32 auth users = hello secrets file = /etc/rsync.password transfer logging = yes
#模块定义 [www] path = /data/html/
创建监控目录
mkdir -p /data/html
启动服务
rsync --daemon
客户端配置
配置密码:
vi /etc/rsync.password
123123
注:客户端只需要配置密码,不需要hello,否则会报如下问题:
@ERROR: auth failed on module www rsync error: error starting client-server protocol (code 5) at .....
客户端从服务端拉取文件
rsync -zvaP --password-file=/etc/rsync.password hello@192.168.168.129::www /data/html/