您好,登錄后才能下訂單哦!
一臺(tái)裝sersync、一臺(tái)裝rsync服務(wù)
sersync服務(wù)器(數(shù)據(jù)源,源機(jī)器):192.168.0.63
rsync客戶(hù)端(備份端,目標(biāo)機(jī)器):192.168.0.64
1. 為什么要用rsync+sersync架構(gòu)?
(1) sersync是基于inotify開(kāi)發(fā)的,類(lèi)似于inotify-tools的工具。
(2) sersync可以記錄下被監(jiān)聽(tīng)目錄中發(fā)生變化的(包括增加、刪除、修改)具體某一個(gè)文件或者某一個(gè)目錄的名字,然后使用rsync同步的時(shí)候,只同步發(fā)生變化的文件或者目錄。
2. rsync+inotify-tools與rsync+sersync架構(gòu)的區(qū)別?
(1) rsync+inotify-tools
1) inotify只能記錄下被監(jiān)聽(tīng)的目錄發(fā)生了變化(增,刪,改)并沒(méi)有把具體是哪個(gè)文件或者哪個(gè)目錄發(fā)生了變化記錄下來(lái)。
2) rsync在同步的時(shí)候,并不知道具體是哪個(gè)文件或目錄發(fā)生了變化,每次都是對(duì)整個(gè)目錄進(jìn)行同步,當(dāng)數(shù)據(jù)量很大時(shí),整個(gè)目錄同步非常耗時(shí)(rsync要對(duì)整個(gè)目錄遍歷查找對(duì)比文件),因此效率很低。
(2) rsync+sersync
1) sersync可以記錄被監(jiān)聽(tīng)目錄中發(fā)生變化的(增,刪,改)具體某個(gè)文件或目錄的名字。
2) rsync在同步時(shí),只同步發(fā)生變化的文件或目錄(每次發(fā)生變化的數(shù)據(jù)相對(duì)整個(gè)同步目錄數(shù)據(jù)來(lái)說(shuō)很小,rsync在遍歷查找對(duì)比文件時(shí),速度很快),因此效率很高。
3. 同步過(guò)程:
(1) 在同步服務(wù)器上開(kāi)啟sersync服務(wù),sersync負(fù)責(zé)監(jiān)控配置路徑中的文件系統(tǒng)事件變化。
(2) 調(diào)用rsync命令把更新的文件同步到目標(biāo)服務(wù)器。
(3) 需要在主服務(wù)器配置sersync,在同步目標(biāo)服務(wù)器配置rsync server(注意:是rsync服務(wù))。
4. 同步過(guò)程和原理:
(1) 用戶(hù)實(shí)時(shí)的往sersync服務(wù)器上寫(xiě)入更新文件數(shù)據(jù)。
(2) 此時(shí)需要在同步主服務(wù)器上配置sersync服務(wù)。
(3) 在另一臺(tái)服務(wù)器開(kāi)啟rsync守護(hù)進(jìn)程服務(wù),以同步拉取來(lái)自sersync服務(wù)器上的數(shù)據(jù)。
(4) 在另一臺(tái)服務(wù)器開(kāi)啟rsync守護(hù)進(jìn)程服務(wù),使sersync push文件過(guò)來(lái)。
通過(guò)rsync的守護(hù)進(jìn)程服務(wù)后可以發(fā)現(xiàn),實(shí)際上sersync就是監(jiān)控本地的數(shù)據(jù)寫(xiě)入或更新事件,然后,在調(diào)用rsync客戶(hù)端的命令,將寫(xiě)入或更新事件對(duì)應(yīng)的文件通過(guò)rsync推送到目標(biāo)服務(wù)器,如圖 2-3 所示。
圖2-3 同步過(guò)程示意圖
1.在google code下載sersync的可執(zhí)行文件版本,里面有配置文件與可執(zhí)行文件
wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz(有時(shí)下載失敗,所有要本地留存一份)
2.上傳到服務(wù)器 /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行,如下所示。
<sersync>
<localpath watch="/var/www/html"> #本地同步數(shù)據(jù)目錄。
<remote ip="192.168.0.64" name="wwwroot"/> #rsync模塊名稱(chēng)
2. 修改31--34行,認(rèn)證部分(rsync密碼認(rèn)證)。
<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. 開(kāi)啟sersync守護(hù)進(jìn)程同步數(shù)據(jù)。
[root@xuegod63 sersync]# /opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml
圖 2-4 開(kāi)啟sersync守護(hù)進(jìn)程
4. 測(cè)試
(1) 在63 /var/www/html/ 目錄 增加、刪除、或改目錄文件。
(2) 看64 /web-back 目錄的變化
[root@xuegod64 web-back]# watch ls -l
5. 設(shè)置sersync監(jiān)控開(kāi)機(jī)自動(dòng)執(zhí)行
[root@xuegod63 sersync]# vi /etc/rc.d/rc.local #編輯rc.local文件,在最后添加一行。
/opt/sersync/sersync2 -d -r -o /opt/sersync/confxml.xml #設(shè)置開(kāi)機(jī)自動(dòng)運(yùn)行腳本。
6. 添加腳本監(jiān)控sersync是否正常運(yùn)行
[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í)行權(quán)限。
把這個(gè)腳本加到任務(wù)計(jì)劃,定期執(zhí)行檢測(cè)。
有興趣學(xué)習(xí)Linux云計(jì)算架構(gòu)師的可以關(guān)注我!
我給大家推薦一些入門(mén)學(xué)習(xí)資料,都是些經(jīng)典的學(xué)習(xí)資料!
CCNA 網(wǎng)絡(luò)基礎(chǔ)課程
http://edu.51cto.com/sd/3ee4c
Linux centos7 最新版的基礎(chǔ)學(xué)習(xí)視頻 請(qǐng)比對(duì)蘑菇丁的課程如果大綱一致就不要購(gòu)買(mǎi)了!
http://edu.51cto.com/sd/d572a
python3 函數(shù)編程入門(mén)
http://edu.51cto.com/sd/dd128
WEB開(kāi)發(fā)工程師 JavaScript全民你飛機(jī)大戰(zhàn)游戲開(kāi)發(fā)視頻課程
http://edu.51cto.com/sd/c6223
如果你基礎(chǔ)學(xué)習(xí)的比較好可以嘗試了解一下Linux Docker虛擬化及Kubernetes容器集群管理
http://edu.51cto.com/sd/480b1
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。