rsync+sersync實(shí)現(xiàn)雙向同步

1.安裝配置rsync用于同步

使用root用戶安裝配置,10.58.2.4、10.158.2.4安裝配置方式一樣,其中rsync為centos默認(rèn)安裝過(guò)了,可以先行檢查,如果沒(méi)有安裝則使用如下方式進(jìn)行安裝,已經(jīng)安裝則跳過(guò)安裝步驟進(jìn)行配置即可。

1、安裝配置rsync用于同步

shell>

yum install -y rsync

2、創(chuàng)建rsyncd.conf配置文件

shell>

vim /etc/rsyncd.conf

輸入如下內(nèi)容:

uid = xxxx #備份以什么身份進(jìn)行,用戶ID

gid = root #備份以什么身份進(jìn)行,組ID

use chroot = no #禁錮在源目錄

max connections = 36000

? #最大連接數(shù),0代表沒(méi)有限制

strict modes = yes #是否檢查口令文件的權(quán)限

log file =/var/log/rsyncd.log #日志記錄文件

pid file =/var/run/rsyncd.pid #運(yùn)行進(jìn)程的PID文件

lock file =/var/run/rsyncd.lock #運(yùn)行進(jìn)程的LOCK文件


[tongbu] #指定認(rèn)證的備份模塊名,后續(xù)sersync配置中會(huì)用到

comment = web files

path =/app/xxxx/tomcat8.0.24/webapps/xxxx-portal/upload #需要備份的目錄的路徑

ignore errors = yes #忽略一些無(wú)關(guān)的IO錯(cuò)誤

read only = no #設(shè)置為no,即可以傳至服務(wù)器的相應(yīng)目錄

write only = no #設(shè)置為no,表示客戶端可以下載文件

auth users = xxxx #連接模塊的用戶名

secrets file =/etc/rsyncd.pwd #連接模塊用戶名的密碼文件存儲(chǔ)路徑

3、創(chuàng)建用戶認(rèn)證文件

shell>

vim /etc/rsyncd.pwd

輸入如下內(nèi)容:

用戶名:密碼#注意:該用戶名密碼為:本機(jī)的用戶名密碼

4、設(shè)置文件權(quán)限

shell>

????? chmod? 600 /etc/rsyncd.conf #設(shè)置文件所有者讀取、寫(xiě)入權(quán)限

????? chmod? 600 /etc/rsyncd.pwd? #設(shè)置文件所有者讀取、寫(xiě)入權(quán)限


2 安裝配置sersync用于監(jiān)控指定目錄文件變化并觸發(fā)同步

使用root用戶安裝配置sersync用于監(jiān)控指定目錄文件變化并觸發(fā)同步

1、上傳sersync安裝包

shell>

????? cd /usr/local/src

rz #上傳sersync2.5.4_64bit_binary_stable_final.tar.gz

tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz

cd /usr/local

mkdir sersync

mv GNU-Linux-x86 /usr/local/sersync

2、配置sersync的confxml.xml文件

shell>

cd /usr/local/sersync/GNU-Linux-x86

cp confxml.xml confxml.xmlbak

vim confxml.xml #編輯寫(xiě)入如下內(nèi)容:


<head

? version="2.5">

<host

? hostip="localhost" port="8008"></host>

<debug

? start="false"/>

<fileSystem

? xfs="false"/>

<filter

? start="false">

<exclude

? expression="(.*)\.svn"></exclude>

<exclude

? expression="(.*)\.gz"></exclude>

<exclude

? expression="^info/*"></exclude>

<exclude

? expression="^static/*"></exclude>

</filter>

<inotify>

<delete

? start="true"/>

<createFolder

? start="true"/>

<createFile

? start="false"/>

<closeWrite

? start="true"/>

<moveFrom

? start="true"/>

<moveTo

? start="true"/>

<attrib

? start="false"/>

<modify

? start="false"/>

</inotify>

<sersync>

<!--此處的IP為待同步的機(jī)器的IP地址及rsyncd.conf中指定認(rèn)證的備份模塊名,例如我們現(xiàn)在配置的機(jī)器為10.58.2.4,則此處IP需要配置為10.158.2.4-->

</localpath>

<rsync>

<commonParams

? params="-artuz"/>

<!--此處一定要設(shè)定為true才會(huì)自動(dòng)同步,/etc/sersync.secrets為待同步機(jī)器密碼文件,例如我們現(xiàn)在配置的機(jī)器為10.58.2.4,則此處sersync.secrets文件中需要配置10.158.2.4的xxxx用戶的密碼-->

<userDefinedPort

? start="false" port="874"/><!-- port=874 -->

<timeout

? start="false" time="100"/><!-- timeout=100 -->

<ssh

? start="false"/>

</rsync>

<failLog

? path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default

? every 60mins execute once-->

<crontab

? start="true" schedule="600"><!--600mins-->

<crontabfilter

? start="false">

<exclude

? expression="*.php"></exclude>

<exclude

? expression="info/*"></exclude>

</crontabfilter>

</crontab>

<plugin

? start="false" name="command"/>

</sersync>

<plugin

? name="command">



<filter

? start="false">

<include

? expression="(.*)\.php"/>

<include

? expression="(.*)\.sh"/>

</filter>

</plugin>

<plugin

? name="socket">

<localpath

? watch="/opt/tongbu">

<deshost

? ip="192.168.138.20" port="8009"/>

</localpath>

</plugin>

<plugin

? name="refreshCDN">

<localpath

? watch="/data0/htdocs/cms.xoyo.com/site/">

<cdninfo

? domainname="ccms.chinacache.com" port="80"

? username="xxxx" passwd="xxxx"/>

<sendurl

? base="http://pic.xoyo.com/cms"/>

<regexurl

? regex="false"

? match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/p_w_picpaths"/>

</localpath>

</plugin>

</head>

3、創(chuàng)建用戶認(rèn)證文件

shell>

vim /etc/sersync.secrets

輸入如下內(nèi)容:

待同步機(jī)器xxxx用戶對(duì)應(yīng)密碼

#例如:我們現(xiàn)在配置的機(jī)器為10.58.2.4,

#則此處sersync.secrets文件中需要配置10.158.2.4的xxxx用戶的密碼

4、設(shè)置文件權(quán)限

shell>

????? chmod? 600 /etc/sersync.secrets #設(shè)置文件所有者讀取、寫(xiě)入權(quán)限


3 啟動(dòng)rsync

1、啟動(dòng)rsync

shell>

/usr/bin/rsync --daemon

? --config=/etc/rsyncd.conf

2、檢查rsync是否啟動(dòng)

shell>

lsof -i:873

3、加入開(kāi)機(jī)自啟動(dòng)

shell>

echo “/usr/bin/rsync

? --daemon --config=/etc/rsyncd.conf” >> /etc/rc.local


4啟動(dòng)sersync

1、啟動(dòng)sersync

shell>

/usr/local/sersync/GNU-Linux-x86/sersync2

? -d -r -o /usr/local/sersync/GNU-Linux-x86/confxml.xml

2、檢查sersync是否啟動(dòng)

shell>

ps -ef|grep sersync

3、加入開(kāi)機(jī)自啟動(dòng)

shell>

vim /etc/rc.d/rc.local #編輯,在最后一行添加

/usr/local/sersync/GNU-Linux-x86/sersync2 -d -r -o

? /usr/local/sersync/GNU-Linux-x86/confxml.xml

#設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)腳本

:wq! #保存退出


5測(cè)試雙向同步是否生效

[if !supportLists]1、? [endif]在10.58.2.4的/app/xxxx/tomcat8.0.24/webapps/xxxx-portal/upload下新建、刪除、修改測(cè)試文件,然后到10.158.2.4中查看是否已經(jīng)同步。

在10.158.2.4的/app/xxxx/tomcat8.0.24/webapps/xxxx-portal/upload下新建、刪除、修改測(cè)試文件,然后到10.58.2.4中查看是否已經(jīng)同步。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容