rsync+sersync實現數據文件實時同步

rsync+sersync實現數據文件實時同步


參考自https://www.cnblogs.com/gdou123czh/p/5713283.html
自測沒毛病,謝謝宅在殼裏的蝸牛

環境及目標:

系統:centOs
服務器:目標服務器(rsync):192.168.1.43 源服務器(sersync):192.168.1.44
目標:需要將192.168.1.44 上的 /upload 目錄(包括子目錄)實時同步到 192.168.1.43 /upload 下
架構:rsync+sersync
rsync 爲數據同步工具,sersync爲目錄監聽工具,可監聽到目錄的增刪改操作,兩個工具同步可以實現實時增量同步目錄。

安裝步驟

(一)目標服務器(rsync):192.168.1.43
1、安裝rsync

yum -y install rsync

2、創建rsyncd.conf配置文件

  vi /etc/rsyncd.conf
uid = root
gid = root
max connections = 10
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
 
[test]     #模塊自定義名稱 ---這個需要與源服務器Sersync對應
path = /upload #需要同步到這個目錄,注意後面不要有空格,不然會有一個filenotfound異常
comment = Mirror to test
ignore errors = yes
use chroot = no  #默認爲true,修改爲no,增加對目錄文件軟連接的備份
read only = no    #設置rsync服務端文件爲讀寫權限
hosts allow = 192.168.1.44 #允許訪問源服務器IP
auth users = admin
secrets file = /etc/rsync.password

  vim /etc/rsync.password

admin:8ik,9ol.

 chmod 600  /etc/rsync.password

3、啓動服務

/usr/bin/rsync --daemon /etc/rsyncd.conf

(二)源服務器(sersync):192.168.1.44
1、安裝rsync

yum -y install rsync
--/upload/ 同步目錄
--192.168.1.43 目的服務器,安裝並配置完畢rsync
--test 模塊自定義名稱,即目的服務器的rsync配置文件中配置的

備註:如果手動同步失敗,檢查防火牆,看看目標和源服務器的873端口是否開放。
可參考https://blog.csdn.net/bbwangj/article/details/74502967

3、安裝sersync工具,實時觸發rsync進行同步

#cd /usr/local/src
//下面下載地址已無效,自己去網上找
#wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz

解壓修改參數

#tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz
    GNU-Linux-x86/
    GNU-Linux-x86/sersync2
    GNU-Linux-x86/confxml.xml
#mv /usr/local/src/GNU-Linux-x86/ /usr/local/sersync/
#vi /usr/local/sersync/confxml.xml

需要修改如下幾個地方:

<localpath watch="/upload">
    <!—-設置監控的目錄-->
    <remote ip="192.168.1.44" name="test"/>
    <!—設置從服務器的IP-->
    <!--<remote ip="192.168.8.39" name="tongbu"/>-->
    <!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
    <commonParams params="-artuz"/>
    <auth start="true" users="root" passwordfile="/etc/rsyncd.secret"/>
    <!—-設置同步的用戶名和密碼文件-->
    <userDefinedPort start="true" port="873"/><!-- port=874 -->
    <!—-設置rsync的端口,要和從那邊開啓的端口一致-->
    <timeout start="false" time="100"/><!-- timeout=100 -->
    <ssh start="false"/>
</rsync>

注:如果目的服務器的rsync有配置賬號密碼時,這裏需要配置/etc/rsyncd.secret
4、啓動sersync

/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

5、開機自啓

vim /etc/rc.local

新增:
/usr/bin/rsync --daemon

/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/confxml.xml

6、軟連接

ln /usr/local/sersync/confxml.xml /etc/sersync.conf

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章