1. 程式人生 > >sersync 實驗筆記

sersync 實驗筆記

sersync sync

技術分享圖片
圖是從網絡找的。

在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 [email protected]::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]#

sersync 實驗筆記