rsync+inotify

rsync:可以镜像文件,第二次镜像只拷贝发生变化的文件,可以本地镜像也可以远程
inotify:时实监控文件系统事件(是内核监控的)
规划:
192.168.100.7 内容发布节点  发布目录/www
192.168.100.5 服务节点1     web目录/www
192.168.100.6 服务节点2     web目录/www

-------------------

192.168.100.5
安装包和启动服务
# yum -y install  xinetd rsync
# chkconfig rsync on
# service xinetd restart
提供rsync配置文件,这个配置文件原先没有,各配置参数可# man rsyncd.conf
配置文件为:

提供密码文件:

密码文件格式为:
username:password
改密码文件权限600:
# chmod 600 /etc/.rsync.pass
然后重启服务
# service xinetd restart
查看873号端口是否监听
873为rsync监听的端口
创建目录和用户
useradd httpd
mkdir /www
# chown -R httpd:httpd /www
# chmod 755 /www
完成
-------------------
192.168.100.6
安装包和启动服务
# yum -y install  xinetd rsync
# chkconfig rsync on
# service xinetd restart
提供rsync配置文件这个配置文件原先没有各配置参数可# man rsyncd.conf
配置文件:
--

提供密码文件:

密码文件格式为:
username:password
改密码文件权限600:
# chmod 600 /etc/.rsync.pass
然后重启服务
# service xinetd restart
查看873号端口是否监听
873为rsync监听的端口
创建目录和用户
useradd httpd
mkdir /www
# chown -R httpd:httpd /www
# chmod 755 /www
完成
--------------------
192.168.100.7 内容发布节点
安装包
# yum -y install inotify-tools  rsync
创建一个密码文件密码和服务器上的密码一样

chmod 600 /etc/.rsync.pass
提供监控脚本
#!/bin/bash
#
host1=192.168.100.5
host2=192.168.100.6
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' \
-e delete,create,modify,attrib /www \
|while read file ;do
rsync -av --delete --password-file=/etc/.rsync.pass /www/ rsync@$host1::www5
rsync -av --delete --password-file=/etc/.rsync.pass /www/ rsync@$host2::www6
echo "$file" >>/tmp/rsync.log
done
~

给脚本执行权限
# chmod a+x rsync.sh
加入到开机自启动
# echo "/root/script/rsync.sh &" >>/etc/rc.d/rc.local

日志文件: