实验环境: Server:192.168.9.109rsync+inotify WEB1:192.168.9.106rsyncserver WEB2:192.168.9.104rsyncserver Server为分发机,有内容更新则推送rsyncserver 注:也可以WEB到Server拉取数据 (1)Server下载安装rsync+inotify 下载安装rsync #wgethttps://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz #tarxfrsync-3.1.2.tar.gz #cdrsync-3.1.2 #./configure #make #makeinstall 下载安装inotify #uname-r 2.6.32-431.el6.x86_64 #ls-l/proc/sys/fs/inotify total0 -rw-r--r--1rootroot0Aug3012:28max_queued_events -rw-r--r--1rootroot0Aug3012:28max_user_instances -rw-r--r--1rootroot0Aug3012:28max_user_watches 如果有上面三项输出,表示系统已经默认支持inotify,接着就可以开始安装inotify-tools了。 #cd/usr/local/src/ #wgethttp://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz #tarxfinotify-tools-3.14.tar.gz #cdinotify-tools-3.14 #./configure #make #makeinstall #ll/usr/local/bin/inotifywa* -rwxr-xr-x1rootroot44287Aug3112:23/usr/local/bin/inotifywait -rwxr-xr-x1rootroot41377Aug3112:23/usr/local/bin/inotifywatch #inotify-tools安装完成后,会生成inotifywait和inotifywatch两个指令,其中,inotifywait用于等待文件或文件集上的一个特定事件,它可以监控任何文件和目录设置,并且可以递归地监控整个目录树。inotifywatch用于收集被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息。 配置SERVER节点: #vim/data0/inotify.sh #!/bin/bash host1=192.168.9.104 host2=192.168.9.106 src=/webroot/ dst1=WEB1 dst2=WEB2 /usr/local/bin/inotifywait-mrq--timefmt'%d/%m/%y%H:%M'--format'%T%w%f%e'\ -emodify,delete,create,attrib${src}|whichreadfile do /usr/bin/rsync-vzrtopg--delete--progress${src}${host1}::${dst1} /usr/bin/rsync-vzrtopg--delete--progress${src}${host2}::${dst2} echo"${files}wasrsyncd">/tmp/rsync.log2>&1 done #chmod+x/data0/inotify.sh #nohup/data0/inotify.sh& #echo"nohup/data0/inotify.sh&">>/etc/rc.d/rc.local (2)WEB1安装rysnc 下载安装rsync #wgethttps://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz #tarxfrsync-3.1.2.tar.gz #cdrsync-3.1.2 #./configure #make #makeinstall 配置rsync #cat/etc/rsyncd.conf uid=nobody gid=nobody usechroot=no maxconnections=10 pidfile=/var/run/rsyncd.pid logfile=/var/log/rsync.log lockfile=/var/lock/rsync.lock hostsdeny=* [WEB1] path=/var/www/htm1 comment=WEB1 ignoreerrors readonly=no writeonly=no hostsallow=192.168.9.109192.168.1.104192.168.5.0/24 list=false uid=root gid=root 启动 #/usr/local/bin/rsync--daemon--config=/etc/rsyncd.conf #echo"/usr/local/bin/rsync--daemon--config=/etc/rsyncd.conf">>/etc/rc.d/rc.local (3)WEB2下载安装rsync #wgethttps://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz #tarxfrsync-3.1.2.tar.gz #cdrsync-3.1.2 #./configure #make #makeinstall 配置rsync uid=nobody gid=nobody usechroot=no maxconnections=10 pidfile=/var/run/rsyncd.pid logfile=/var/log/rsync.log lockfile=/var/lock/rsync.lock hostsdeny=* [WEB2] path=/var/www/htm2 comment=WEB2 ignoreerrors readonly=no writeonly=no hostsallow=192.168.9.109192.168.1.104192.168.5.0/24 list=false uid=root gid=root 启动 #/usr/local/bin/rsync--daemon--config=/etc/rsyncd.conf #echo"/usr/local/bin/rsync--daemon--config=/etc/rsyncd.conf">>/etc/rc.d/rc.local