rsync+inotify
rsync:可以镜像文件,第二次镜像只拷贝发生变化的文件,可以本地镜像也可以远程inotify:时实监控文件系统事件(是内核监控的)规划:192.168.100.7 内容发布节点 发布目录/www192.168.100.5 服务节点1 web目录/www192.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 httpdmkdir /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 httpdmkdir /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.5host2=192.168.100.6inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' \-e delete,create,modify,attrib /www \|while read file ;dorsync -av --delete --password-file=/etc/.rsync.pass /www/ rsync@$host1::www5rsync -av --delete --password-file=/etc/.rsync.pass /www/ rsync@$host2::www6echo "$file" >>/tmp/rsync.logdone~ 给脚本执行权限# chmod a+x rsync.sh 加入到开机自启动# echo "/root/script/rsync.sh &" >>/etc/rc.d/rc.local日志文件: