图是从网络找的。

在s1和s2 (客户端)开启rsync守护进程服务。rsync服务 rsync的配置文件在/etc/rsync.conf [root@LVS_RS2_6_61 dmall]# cat > /etc/rsyncd.conf <<EOF #Rsync server uid = root gid = root use chroot = no # 安全相关 max connections = 2000 # 并发连接数 timeout = 600 # 超时时间(秒) pid file = /var/run/rsyncd.pid # 指定rsync的pid目录 lock file = /var/run/rsync.lock # 指定rsync的锁文件【重要】 log file = /var/log/rsyncd.log # 指定rsync的日志目录 ignore errors read only = false #客户端可往这台服务器推送文件 list = false #允许列表 hosts allow = 10.12.0.0/16 #允许这列客户端访问我的rsync服务 hosts deny = 0.0.0.0/32 #拒绝这些客户端访问我的rsync服务 auth users = rsync_backup #认证用的用户 虚拟的 secrets file = /etc/rsync.password #密码文件 ################################################# [www] # 模块 comment = www path = /data0/www/www/ ################################################# [bbs] comment = bbs path = /data0/www/bbs/ ################################################# [blog] comment = blog path = /data0/www/blog/ #rsync_config____________end EOF

开始配置服务器,先配置两台客户端服务器10.12.7.111和10.12.7.112(数据自动同步到这两台服务器,就示例一台服务器的配置即可) 第一步 [root@Office-test-007111 ~]# cat /etc/rsync.password 配置密码文件 rsync_backup:old-boy123

第二步 [root@Office-test-007111 ~]# cat /etc/rsyncd.conf rsync的配置文件 #Rsync server uid = root gid = root use chroot = no ns = 2000 timeout= 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = false list = false hosts allow = 10.12.0.0/16 hosts deny = 0.0.0.0/32 auth users = rsync_backup 用户名要与密码文件里面的一致 secrets file = /etc/rsync.password 目录要与密码文件的路径一致 ################################################# [www] comment = www path = /data0/www/www/ ################################################# [bbs] comment = bbs path = /data0/www/bbs/ ################################################# [blog] comment = blog path = /data0/www/blog/ #rsync_config____________end

第三步 [root@Office-test-007111 ~]# mkdir -p /data0/www/bbs /data0/www/www /data0/www/blog 创建要同步数据的目录

第四步 [root@Office-test-007111 ~]# rsync --daemon 配置进程守护,启动rsync [root@Office-test-007111 ~]# ps -ef |grep rsync 查看rsync是否启动 root 1335 1 0 Mar20 ? 00:00:00 rsync --daemon root 2182 2145 0 20:24 pts/0 00:00:00 grep rsync [root@Office-test-007111 ~]#

第五步 [root@Office-test-007111 ~]# tail -n 2 /etc/rc.local 配置rsync的开机自启动。 #kai ji zi qi dong rsync by root 20180320 /usr/local/bin/rsync --daemon [root@Office-test-007111 ~]# 以上,被自动同步数据段服务器配置完成。

sersync服务器端配置(10.12.7.113),数据变化端Master,数据自动同步到其它服务器。

第一步 [root@Office-test-007113 ~]# cat /etc/rsync.password 配置密码验证文件。 old-boy123 [root@Office-test-007113 ~]# ll /etc/rsync.password 密码文件的权限设置成600 -rw-------. 1 root root 11 Mar 20 15:55 /etc/rsync.password [root@Office-test-007113 ~]#mkdir -p /data0/www/bbs /data0/www/www /data0/www/blog 创建要同步数据目录

第二步 验证以上rsync是否可通。(服务器的防火墙都关闭) [root@Office-test-007113 ~]# rsync -avzP /data0/www/www rsync_backup@10.12.7.111::www/ --password-file=/etc/rsync.password 验证是否可把数据同步到远端服务,若不可以请检查配置。

第三步, 配置sersync服务器10.12.7.113 下载sersync服务软件。 [root@Office-test-007113 tools]# wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz 下载sersync服务软件。 [root@Office-test-007113 tools]# tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local 软件解压到指定目录 [root@Office-test-007113 tools]# cd /usr/local/ [root@Office-test-007113 local]# mv GNU-Linux-x86 sersync 把解压出来的文件更改一个文件名字。 [root@Office-test-007113 local# cd sersync [root@Office-test-007113 sersync]# mkdir bin conf log 配置标准目录 [root@Office-test-007113 sersync]# mv confxml.xml conf 把配置文件放到conf目录 [root@Office-test-007113 sersync]# mv sersync2 bin/sersync 把sersync2放到bin目录下,并改名为sersync [root@Office-test-007113 sersync]# ll 新的目录结构 total 1784 drwxr-xr-x. 2 root root 4096 Mar 22 20:12 bin drwxr-xr-x. 2 root root 4096 Mar 22 20:11 conf -rwxr-xr-x. 1 root root 2214 Mar 22 14:01 confxml.xml.bak drwxr-xr-x. 2 root root 4096 Mar 22 20:06 log -rwxr-xr-x. 1 root root 1810128 Mar 22 14:01 sersync2.bak [root@Office-test-007113 sersync]# ll bin/ 新的目录结构 total 1768 -rwxr-xr-x. 1 root root 1810128 Oct 26 2011 sersync [root@Office-test-007113 sersync]# ll conf 新的目录结构 total 4 -rwxr-xr-x. 1 root root 2229 Mar 22 20:07 confxml.xml [root@Office-test-007113 sersync]# ll log 新的目录结构 total 0 [root@Office-test-007113 sersync]#

第四步 修改sersync服务器的配置文件

[root@Office-test-007113 sersync]# cd conf [root@Office-test-007113 conf]# cat confxml.xml -nu 查看配置文件的内容,红色行为修改行。 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <head version="2.5"> 3 <host hostip="localhost" port="8008"></host> 4 <debug start="false"/> 5 <fileSystem xfs="false"/> 6 <filter start="false"> 7 <exclude expression="(.).svn"></exclude> 8 <exclude expression="(.).gz"></exclude> 9 <exclude expression="^info/"></exclude> 10 <exclude expression="^static/"></exclude> 11 </filter> 12 <inotify> 13 <delete start="true"/> 14 <createFolder start="true"/> 15 <createFile start="false"/> 16 <closeWrite start="true"/> 17 <moveFrom start="true"/> 18 <moveTo start="true"/> 19 <attrib start="false"/> 20 <modify start="false"/> 21 </inotify> 22 23 <sersync> 24 <!--###################################--> 25 <localpath watch="/data0/www/www"> 26 <remote ip="10.12.7.111" name="www"/> 27 <remote ip="10.12.7.112" name="www"/> 28 </localpath> 29 <rsync> 30 <commonParams params="-artuz"/> 31 <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/> 32 <userDefinedPort start="false" port="874"/><!-- port=874 --> 33 <timeout start="true" time="100"/><!-- timeout=100 --> 34 <ssh start="false"/> 35 </rsync> 36 <failLog path="/usr/local/sersync/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once--> 37 <crontab start="false" schedule="600"><!--600mins--> 38 <crontabfilter start="false"> 39 <exclude expression=".php"></exclude> 40 <exclude expression="info/"></exclude> 41 </crontabfilter> 42 </crontab> 43 <plugin start="false" name="command"/> 44 </sersync> 45 46 <plugin name="command"> 47 <param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix--> 48 <filter start="false"> 49 <include expression="(.).php"/> 50 <include expression="(.).sh"/> 51 </filter> 52 </plugin> 53 54 <plugin name="socket"> 55 <localpath watch="/opt/tongbu"> 56 <deshost ip="192.168.138.20" port="8009"/> 57 </localpath> 58 </plugin> 59 <plugin name="refreshCDN"> 60 <localpath watch="/data0/htdocs/cms.xoyo.com/site/"> 61 <cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/> 62 <sendurl base="http://pic.xoyo.com/cms"/> 63 <regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/> 64 </localpath> 65 </plugin> 66 </head> [root@Office-test-007113 conf]#

第五步配置sersync的命令全局变量

[root@Office-test-007113 sersync]# echo 'export PATH=$PATH:/usr/local/sersync/bin'>>/etc/profile [root@Office-test-007113 sersync]# tail -1 /etc/profile export PATH=$PATH:/usr/local/sersync/bin [root@Office-test-007113 sersync]# source /etc/profile [root@Office-test-007113 sersync]# which sersync /usr/local/sersync/bin/sersync [root@Office-test-007113 sersync]#

第六步,启动sersync 此时已经完成一个目的的数据同步。 [root@Office-test-007113 sersync]# sersync -r -d -o /usr/local/sersync/conf/confxml.xml 启动sersync,后面接配置文件

第七步 做三个目录的数据同步,生成三份配置文件。 [root@Office-test-007113 conf]# ll total 4 -rwxr-xr-x. 1 root root 2229 Mar 22 20:07 confxml.xml [root@Office-test-007113 conf]# cp confxml.xml www_confxml.xml 把对应的文件目录和日志名字修改即可。 [root@Office-test-007113 conf]# cp confxml.xml bbs_confxml.xml [root@Office-test-007113 conf]# cp confxml.xml blog_confxml.xml

-r是把数据重新同步一遍,-d守护进行 -o是指定启动配置文件。 [root@Office-test-007113 conf]# sersync -r -d -o /usr/local/sersync/conf/bbs_confxml.xml 启动三个配置文件,三个目录即可实现自动同步 [root@Office-test-007113 conf]# sersync -r -d -o /usr/local/sersync/conf/www_confxml.xml [root@Office-test-007113 conf]# sersync -r -d -o /usr/local/sersync/conf/blog_confxml.xml

[root@Office-test-007113 conf]# ll /usr/local/sersync/log/ 查看数据同步的log文件 total 12 -rwxrwxrwx. 1 root root 155 Mar 22 21:10 bbs_rsync_fail_log.sh -rwxrwxrwx. 1 root root 316 Mar 22 21:10 blog_rsync_fail_log.sh -rwxrwxrwx. 1 root root 308 Mar 22 21:10 www_rsync_fail_log.sh [root@Office-test-007113 conf]#