本文共 3066 字,大约阅读时间需要 10 分钟。
实验环境:Server : 192.168.9.109 rsync+inotifyWEB1:192.168.9.106 rsync serverWEB2:192.168.9.104 rsync serverServer为分发机,有内容更新则推送rsync server注:也可以WEB到Server拉取数据(1)Server下载安装rsync+inotify下载安装rsync#wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz#tar xf rsync-3.1.2.tar.gz#cd rsync-3.1.2#./configure #make #make install 下载安装inotify# uname -r2.6.32-431.el6.x86_64 # ls -l /proc/sys/fs/inotifytotal 0-rw-r--r-- 1 root root 0 Aug 30 12:28 max_queued_events-rw-r--r-- 1 root root 0 Aug 30 12:28 max_user_instances-rw-r--r-- 1 root root 0 Aug 30 12:28 max_user_watches如果有上面三项输出,表示系统已经默认支持inotify,接着就可以开始安装inotify-tools了。# cd /usr/local/src/# wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz# tar xf inotify-tools-3.14.tar.gz # cd inotify-tools-3.14# ./configure # make# make install# ll /usr/local/bin/inotifywa*-rwxr-xr-x 1 root root 44287 Aug 31 12:23 /usr/local/bin/inotifywait-rwxr-xr-x 1 root root 41377 Aug 31 12:23 /usr/local/bin/inotifywatch#inotify-tools安装完成后,会生成inotifywait和inotifywatch两个指令,其中,inotifywait用于等待文件或文件集上的一个特定事件,它可以监控任何文件和目录设置,并且可以递归地监控整个目录树。 inotifywatch用于收集被监控的文件系统统计数据,包括每个inotify事件发生多少次等信息。配置SERVER节点:# vim /data0/inotify.sh#!/bin/bashhost1=192.168.9.104host2=192.168.9.106src=/webroot/dst1=WEB1dst2=WEB2/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' \-e modify,delete,create,attrib ${src} | which read filedo /usr/bin/rsync -vzrtopg --delete --progress ${src} ${host1}::${dst1} /usr/bin/rsync -vzrtopg --delete --progress ${src} ${host2}::${dst2} echo "${files} was rsyncd" > /tmp/rsync.log 2>&1done# chmod +x /data0/inotify.sh# nohup /data0/inotify.sh &# echo "nohup /data0/inotify.sh &" >> /etc/rc.d/rc.local(2)WEB1安装rysnc下载安装rsync#wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz#tar xf rsync-3.1.2.tar.gz#cd rsync-3.1.2#./configure #make #make install 配置rsync# cat /etc/rsyncd.conf uid = nobodygid = nobodyuse chroot = nomax connections = 10pid file = /var/run/rsyncd.pidlog file = /var/log/rsync.loglock file = /var/lock/rsync.lockhosts deny = *[WEB1]path = /var/www/htm1comment = WEB1ignore errorsread only = nowrite only = nohosts allow = 192.168.9.109 192.168.1.104 192.168.5.0/24list = falseuid = rootgid = 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#wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz#tar xf rsync-3.1.2.tar.gz#cd rsync-3.1.2#./configure #make #make install 配置rsyncuid = nobodygid = nobodyuse chroot = nomax connections = 10pid file = /var/run/rsyncd.pidlog file = /var/log/rsync.loglock file = /var/lock/rsync.lockhosts deny = *[WEB2]path = /var/www/htm2comment = WEB2ignore errorsread only = nowrite only = nohosts allow = 192.168.9.109 192.168.1.104 192.168.5.0/24list = falseuid = rootgid = 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
转载于:https://blog.51cto.com/wupengfei/1958258