系统环境
:
节点名称
内核版本
用途
ip
地址
网页数据路径
充当角色
web1
2.6.18-194.el5
服务节点
1 192.168.18.77 /data/web rsync
服务端
web2
2.6.18-194.el5
服务节点
2 192.168.18.78 /data/web rsync
服务端
web3
2.6.18-194.el5
服务节点
3 192.168.18.79 /data/web rsync
服务端
Server
2.6.18-194.el5
内容发布节点
192.168.18.76 /data/web/wwwroot (
充当
rsync
客户端的角色
)
Inotify-tools
是监控文件系统变化的工具,因此必须安装在内容发布节点上
内容发布节点
(
安装
)
服务节点
(
安装
)
inotify-tools
rsync
rsync
在三个服务节点上配置
1
、安装
#tar fxz rsync-3.0.4.tar.gz
#cd rsync-3.0.4
rsync-3.0.4]#./configure
rsync-3.0.4]#make
&& make install
2
、配置
rsync.conf
文件
web1
节点的
rsyncd.conf(
此文件默认没有,可手动创建
,web2
、
web3
文件类似
)
#more
/etc/rsync.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[
web
1]
path = /dat
a
/
web
/
comment =
web
file
ignore errors
read only = no
write only = no
hosts allow = 192.168.18.76
hosts deny = *
list = false
uid = root
gid = root
auth users = repluser
1
secrets file = /etc/rep1.pass
3
、创建密码文件并设定
600
权限
#vim
/etc/rep1.pass
username:passwd
#chmod
600
/etc/rep1.pass
4
、启动守护进程
# /usr/bin/rsync --daemon
# ps -ef |grep rsync
root
8662
1
0 17:37 ?
00:00:00 /usr/bin/rsync --daemon
在内容发布节点上配置
1
、安装
rsync
与
inotify
查看内核是否支持
inotify
#ll
/proc/sys/fs/inotify
-rw-r--r-- 1 root root 0 01-22 18:59 max_queued_events
-rw-r--r-- 1 root root 0 01-22 18:59 max_user_instances
-rw-r--r-- 1 root root 0 01-22 18:59 max_user_watches
如果有上面
3
项输出,表示系统默认支持
inotify
#tar
fxz inotify-tools-3.14.tar.gz
#cd
inotify-tools-3.14
inotify-tools-3.14]#./configure
inotify-tools-3.14]#make && make install
inotify-tools-3.14]#ll
/usr/local/bin/inotifywa*
-rwxr-xr-x 1 root root 47208 01-17 11:57 /usr/local/bin/inotifywait
-rwxr-xr-x 1 root root 43538 01-17 11:57 /usr/local/bin/inotifywatch
安装完成后会生成上面两个指令
2
、在内容发布节点上创建密码文件
#vim /etc/server.pass
#more
/etc/server.pass
passwd
3
、在内容发布节点上创建脚本
#vim
rsync.sh
#!/bin/bash
host1=192.168.18.77
host2=192.168.18.7
8
host2=192.168.18.7
9
src=/data/
web
/
webroot/
dst1=rep1
dst2=rep2
dst3=rep3
user1=repluser
1
user2=repluser2
user2=repluser
3
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
|while read files
do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/
server
.pass $src $user1@$host1::$dst1 &&
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/
server
.pass $src $user
2
@$host
2
::$dst
2
&&
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/
server
.pass $src $user
3
@$host
3
::$dst
3
&&
echo
"
${files} was rsynced
"
>> /var/log/rsync.log 2>&1
echo "-----------------------------------------------"
done
#chmod 755 rsync.sh
#nohup
/data/shell/rsync.sh
&
4
、测试
在网页发布节点的
/data/web/webroot/
目录下增、删、改文件,看服务节点是否与发布节点一致