一臺裝sersync、一臺裝rsync服務
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設、疏附網(wǎng)站維護、網(wǎng)站推廣。sersync服務器(數(shù)據(jù)源,源機器):192.168.0.63
rsync客戶端(備份端,目標機器):192.168.0.64
1. 為什么要用rsync+sersync架構?
(1) sersync是基于inotify開發(fā)的,類似于inotify-tools的工具。
(2) sersync可以記錄下被監(jiān)聽目錄中發(fā)生變化的(包括增加、刪除、修改)具體某一個文件或者某一個目錄的名字,然后使用rsync同步的時候,只同步發(fā)生變化的文件或者目錄。
2. rsync+inotify-tools與rsync+sersync架構的區(qū)別?
(1) rsync+inotify-tools
1) inotify只能記錄下被監(jiān)聽的目錄發(fā)生了變化(增,刪,改)并沒有把具體是哪個文件或者哪個目錄發(fā)生了變化記錄下來。
2) rsync在同步的時候,并不知道具體是哪個文件或目錄發(fā)生了變化,每次都是對整個目錄進行同步,當數(shù)據(jù)量很大時,整個目錄同步非常耗時(rsync要對整個目錄遍歷查找對比文件),因此效率很低。
(2) rsync+sersync
1) sersync可以記錄被監(jiān)聽目錄中發(fā)生變化的(增,刪,改)具體某個文件或目錄的名字。
2) rsync在同步時,只同步發(fā)生變化的文件或目錄(每次發(fā)生變化的數(shù)據(jù)相對整個同步目錄數(shù)據(jù)來說很小,rsync在遍歷查找對比文件時,速度很快),因此效率很高。
3. 同步過程:
(1) 在同步服務器上開啟sersync服務,sersync負責監(jiān)控配置路徑中的文件系統(tǒng)事件變化。
(2) 調(diào)用rsync命令把更新的文件同步到目標服務器。
(3) 需要在主服務器配置sersync,在同步目標服務器配置rsync server(注意:是rsync服務)。
4. 同步過程和原理:
(1) 用戶實時的往sersync服務器上寫入更新文件數(shù)據(jù)。
(2) 此時需要在同步主服務器上配置sersync服務。
(3) 在另一臺服務器開啟rsync守護進程服務,以同步拉取來自sersync服務器上的數(shù)據(jù)。
(4) 在另一臺服務器開啟rsync守護進程服務,使sersync push文件過來。
通過rsync的守護進程服務后可以發(fā)現(xiàn),實際上sersync就是監(jiān)控本地的數(shù)據(jù)寫入或更新事件,然后,在調(diào)用rsync客戶端的命令,將寫入或更新事件對應的文件通過rsync推送到目標服務器,如圖 2-3 所示。
圖2-3 同步過程示意圖
1.在google code下載sersync的可執(zhí)行文件版本,里面有配置文件與可執(zhí)行文件
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。
[root@xuegod63 opt]# cd sersync #切換工作目錄至sersync目錄下。
[root@xuegod63 sersync]# cp confxml.xml confxml.xml.bak #備份配置文件,便于二次修改
1. 更改優(yōu)化sersync配置文件:
[root@xuegod63 sersync]# vim confxml.xml #修改配置文件中的24--28行,如下所示。
2. 修改31--34行,認證部分(rsync密碼認證)。
3. 開啟sersync守護進程同步數(shù)據(jù)。
[root@xuegod63 sersync]# /opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml
圖 2-4 開啟sersync守護進程
4. 測試
(1) 在63 /var/www/html/ 目錄 增加、刪除、或改目錄文件。
(2) 看64 /web-back 目錄的變化
[root@xuegod64 web-back]# watch ls -l
5. 設置sersync監(jiān)控開機自動執(zhí)行
[root@xuegod63 sersync]# vi /etc/rc.d/rc.local #編輯rc.local文件,在最后添加一行。
/opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml #設置開機自動運行腳本。
6. 添加腳本監(jiān)控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 #添加腳本執(zhí)行權限。
把這個腳本加到任務計劃,定期執(zhí)行檢測。
有興趣學習Linux云計算架構師的可以關注我!
我給大家推薦一些入門學習資料,都是些經(jīng)典的學習資料!
CCNA 網(wǎng)絡基礎課程
http://edu.51cto.com/sd/3ee4c
Linux centos7 最新版的基礎學習視頻 請比對蘑菇丁的課程如果大綱一致就不要購買了!
http://edu.51cto.com/sd/d572a
python3 函數(shù)編程入門
http://edu.51cto.com/sd/dd128
WEB開發(fā)工程師 JavaScript全民你飛機大戰(zhàn)游戲開發(fā)視頻課程
http://edu.51cto.com/sd/c6223
如果你基礎學習的比較好可以嘗試了解一下Linux Docker虛擬化及Kubernetes容器集群管理
http://edu.51cto.com/sd/480b1
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。