1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
实验环境:
Server : 192.168.9.109
rsync
+inotify
WEB1:192.168.9.106
rsync
server
WEB2:192.168.9.104
rsync
server
Server为分发机,有内容更新则推送
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 -r
2.6.32-431.el6.x86_64
# ls -l /proc/sys/fs/inotify
total 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/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'
\
-e modify,delete,create,attrib ${src} |
which
read
file
do
/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>&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
#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 = nobody
gid = nobody
use chroot = no
max connections = 10
pid
file
=
/var/run/rsyncd
.pid
log
file
=
/var/log/rsync
.log
lock
file
=
/var/lock/rsync
.lock
hosts deny = *
[WEB1]
path =
/var/www/htm1
comment = WEB1
ignore errors
read
only = no
write only = no
hosts allow = 192.168.9.109 192.168.1.104 192.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
#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
uid = nobody
gid = nobody
use chroot = no
max connections = 10
pid
file
=
/var/run/rsyncd
.pid
log
file
=
/var/log/rsync
.log
lock
file
=
/var/lock/rsync
.lock
hosts deny = *
[WEB2]
path =
/var/www/htm2
comment = WEB2
ignore errors
read
only = no
write only = no
hosts allow = 192.168.9.109 192.168.1.104 192.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
|
本文转自 wpf926 51CTO博客,原文链接:http://blog.51cto.com/wupengfei/1958258,如需转载请自行联系原作者