sersync和rsync部署实时同步环境
/ / 点击 /by jianzi 2013/1/9
一、与使用rsync单向同步的区别是:(2013.10.01纠正:rsync也可以双向同步)
普通单向同步是在源服务器运行rsync守护进程 # rsync -daemon ,在目标服务器执行命令“rsync -artuz -R —delete ….”
使用sersync和rsync实时同步,则在源服务器上安装sersync,运行sersync守护进程,在目标服务器运行rsync —daemon守护进程;
二、部署流水账:
目标服务器1: 192.168.0.100
目标服务器2: 192.168.0.101
源服务器: 192.168.0.22
1、在所有目标服务器上部署rsync守护进程
即:在192.168.0.100和192.168.0.101上
创建 /etc/rsyncd.conf
内容:1
2
3
4
5
6
7
8
9
10
11
12
13
14uid=root
gid=root
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[dev_www]
path=/home/www #目标服务器上的保存目录
comment = dev
ignore errors = yes
read only = no
hosts allow = 192.168.0.22 #源服务器IP地址,这里允许源服务器推送文件
hosts deny = *
运行rsync守护进程1
# rsync —daemon
添加到启动文件当中去1
# echo “rsync —daemon” >> /etc/rc.local
2、在源服务器上安装运行sersync
下载sersync可执行分发包:http://code.google.com/p/sersync/
解压:1
# tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz
配置:1
2#cd GNU-Linux-x86
#vim confxml.xml
修改相关配置段:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<!— 过滤不需要同步的文件规则 —>
<filter start=”false”>
<exclude expression=”(.).svn”></exclude>
<exclude expression=”(.).gz”></exclude>
<exclude expression=”(.).fla”></exclude>
<exclude expression=”^info/“></exclude>
<exclude expression=”^static/*”></exclude>
</filter>
<!— 打开调试模式 —>
<debug start=”true”/>
<!— 源数据目录 和 目标服务器 —>
<localpath watch=”/root/rsync_data/dev_www”>
<remote ip=”192.168.0.100” name=”dev_www”/>
<remote ip=”192.168.0.101” name=”dev_www”/>
</localpath>
第一次先整体同步1
# ./sersync2 -r
运行守护进程实时同步1
# ./sersync2 -d
添加到启动文件中去1
# echo “/root/GNU-Linux-x86/sersync2 -d” >> /etc/rc.local