中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

rsync+sersync實現數據實時同步

發布時間:2020-07-30 11:11:58 來源:網絡 閱讀:897 作者:學神MK講師 欄目:軟件技術
 

一臺裝sersync、一臺裝rsync服務

sersync服務器(數據源,源機器):192.168.0.63

rsync客戶端(備份端,目標機器):192.168.0.64

1. 為什么要用rsync+sersync架構?

(1) sersync是基于inotify開發的,類似于inotify-tools的工具。

(2) sersync可以記錄下被監聽目錄中發生變化的(包括增加、刪除、修改)具體某一個文件或者某一個目錄的名字,然后使用rsync同步的時候,只同步發生變化的文件或者目錄。

2. rsync+inotify-tools與rsync+sersync架構的區別?

(1) rsync+inotify-tools

1) inotify只能記錄下被監聽的目錄發生了變化(增,刪,改)并沒有把具體是哪個文件或者哪個目錄發生了變化記錄下來。

2) rsync在同步的時候,并不知道具體是哪個文件或目錄發生了變化,每次都是對整個目錄進行同步,當數據量很大時,整個目錄同步非常耗時(rsync要對整個目錄遍歷查找對比文件),因此效率很低。

(2) rsync+sersync

1) sersync可以記錄被監聽目錄中發生變化的(增,刪,改)具體某個文件或目錄的名字。

2) rsync在同步時,只同步發生變化的文件或目錄(每次發生變化的數據相對整個同步目錄數據來說很小,rsync在遍歷查找對比文件時,速度很快),因此效率很高。

3. 同步過程:

(1) 在同步服務器上開啟sersync服務,sersync負責監控配置路徑中的文件系統事件變化。

(2) 調用rsync命令把更新的文件同步到目標服務器。

(3) 需要在主服務器配置sersync,在同步目標服務器配置rsync server(注意:是rsync服務)。

4. 同步過程和原理:

(1) 用戶實時的往sersync服務器上寫入更新文件數據。

(2) 此時需要在同步主服務器上配置sersync服務。

(3) 在另一臺服務器開啟rsync守護進程服務,以同步拉取來自sersync服務器上的數據。

(4) 在另一臺服務器開啟rsync守護進程服務,使sersync push文件過來。

通過rsync的守護進程服務后可以發現,實際上sersync就是監控本地的數據寫入或更新事件,然后,在調用rsync客戶端的命令,將寫入或更新事件對應的文件通過rsync推送到目標服務器,如圖 2-3 所示。

rsync+sersync實現數據實時同步

圖2-3 同步過程示意圖

2.3.1 下載sersync

1.在google code下載sersync的可執行文件版本,里面有配置文件與可執行文件

wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz(有時下載失敗,所有要本地留存一份)

2.上傳到服務器 /opt目錄下。

[root@xuegod63 ~]# cd /opt #切換工作目錄到/opt目錄下。

[root@xuegod63 opt]# tar xvf sersync2.5.4_64bit_binary_stable_final.tar.gz #解壓。

[root@xuegod63 opt]# mv GNU-Linux-x86 sersync #解壓后的文件重命名為sersync。

2.3.2 配置sersync

[root@xuegod63 opt]# cd sersync #切換工作目錄至sersync目錄下。

[root@xuegod63 sersync]# cp confxml.xml confxml.xml.bak #備份配置文件,便于二次修改

1. 更改優化sersync配置文件:

[root@xuegod63 sersync]# vim confxml.xml  #修改配置文件中的24--28行,如下所示。

<sersync>

<localpath watch="/var/www/html"> #本地同步數據目錄。

<remote ip="192.168.0.64" name="wwwroot"/> #rsync模塊名稱

2. 修改31--34行,認證部分(rsync密碼認證)。

<rsync>

<commonParams params="-artuz"/>

<auth start="true" users="rsyncuser" passwordfile="/etc/rsync.passwd"/>

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

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

<ssh start="false"/>

3. 開啟sersync守護進程同步數據。

[root@xuegod63 sersync]# /opt/sersync/sersync2  -d -r -o  /opt/sersync/confxml.xml

rsync+sersync實現數據實時同步

圖 2-4 開啟sersync守護進程

4. 測試

(1) 在63 /var/www/html/ 目錄 增加、刪除、或改目錄文件。

(2) 看64 /web-back 目錄的變化

[root@xuegod64 web-back]# watch ls -l

5. 設置sersync監控開機自動執行

[root@xuegod63 sersync]# vi /etc/rc.d/rc.local  #編輯rc.local文件,在最后添加一行。

/opt/sersync/sersync2 -d -r -o  /opt/sersync/confxml.xml   #設置開機自動運行腳本。

6. 添加腳本監控sersync是否正常運行

[root@xuegod63 ~]# vi /opt/check_sersync.sh   #編輯腳本,添加以下代碼。

#!/bin/sh

sersync="/opt /sersync/sersync2"

confxml="/opt /sersync/confxml.xml"

status=$(ps aux |grep 'sersync2'|grep -v 'grep'|wc -l)

if [ $status -eq 0 ];

then

$sersync -d -r -o $confxml &

else

exit 0;

fi

[root@xuegod63 ~]# chmod +x /opt /check_sersync.sh  #添加腳本執行權限。

把這個腳本加到任務計劃,定期執行檢測。

 

有興趣學習Linux云計算架構師的可以關注我!

我給大家推薦一些入門學習資料,都是些經典的學習資料!

CCNA 網絡基礎課程
http://edu.51cto.com/sd/3ee4c


Linux centos7 最新版的基礎學習視頻  請比對蘑菇丁的課程如果大綱一致就不要購買了!
http://edu.51cto.com/sd/d572a


python3  函數編程入門
http://edu.51cto.com/sd/dd128


WEB開發工程師   JavaScript全民你飛機大戰游戲開發視頻課程
http://edu.51cto.com/sd/c6223


如果你基礎學習的比較好可以嘗試了解一下Linux Docker虛擬化及Kubernetes容器集群管理
http://edu.51cto.com/sd/480b1

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄骅市| 和田县| 格尔木市| 精河县| 福清市| 井陉县| 班玛县| 浏阳市| 彭山县| 漯河市| 姜堰市| 会同县| 东海县| 澄迈县| 宁强县| 武宁县| 芜湖市| 林口县| 平塘县| 沂源县| 鸡东县| 赤水市| 江源县| 邵东县| 衡南县| 宿迁市| 绥阳县| 黄平县| 神木县| 武隆县| 定日县| 休宁县| 资兴市| 平顶山市| 博爱县| 武强县| 敦煌市| 龙南县| 盐池县| 宝清县| 峨山|