綜合架構(gòu)實(shí)時(shí)同步詳解

day35 綜合架構(gòu)實(shí)時(shí)同步

課程介紹:

1.實(shí)時(shí)同步原理概念
2.實(shí)現(xiàn)實(shí)時(shí)同步方式
3.實(shí)現(xiàn)實(shí)時(shí)同步方式
1)利用腳本實(shí)現(xiàn)實(shí)時(shí)同步
2)利用軟件實(shí)現(xiàn)實(shí)時(shí)同步

知識(shí)回顧

全網(wǎng)備份項(xiàng)目思路:
1.對(duì)工作任務(wù)進(jìn)行確認(rèn) (筆記錄音)
2.根據(jù)需求編寫文檔資料 (部署計(jì)劃 時(shí)間規(guī)劃 人員規(guī)劃 方案規(guī)劃)
3.和領(lǐng)導(dǎo)開會(huì) (相關(guān)人員著急)
4.根據(jù)規(guī)劃完成任務(wù)
5.完成后項(xiàng)目文檔總結(jié)(項(xiàng)目會(huì)議 人員培訓(xùn))

完善客戶端主機(jī)沒有發(fā)送數(shù)據(jù)時(shí),也可以讓運(yùn)維人員知道

        rsync
       if [  $? != 0 ]
       then
        echo "$(houstname -i)backup is failed" | mail -s "result" 郵箱

網(wǎng)站實(shí)時(shí)同步服務(wù)

數(shù)據(jù)備份方法:
定時(shí)任務(wù)備份數(shù)據(jù): 內(nèi)部人員備份數(shù)據(jù) (備份數(shù)據(jù)最短周期一分鐘)
實(shí)時(shí)同步備份數(shù)據(jù): 外部人員備份數(shù)據(jù)(用戶數(shù)據(jù) 沒有等待時(shí)間)

實(shí)時(shí)同步備份原理

1. 監(jiān)視存儲(chǔ)服務(wù)器上指定目錄 數(shù)據(jù)信息變化 inotify
2.利用同步傳輸數(shù)據(jù)軟件 將變化數(shù)據(jù)傳輸 rsync 傳輸數(shù)據(jù)
3.實(shí)現(xiàn)實(shí)時(shí)傳輸數(shù)據(jù) inotify+rsync 實(shí)時(shí)同步

image.png

數(shù)據(jù)監(jiān)控軟件 inotify

作用:監(jiān)控目錄中數(shù)據(jù)信息變化
第一個(gè)里程: 部署安裝軟件
yum install -y inotify-tools - - - 系統(tǒng)中epel源是否優(yōu)化
/usr/bin/inotify - - -監(jiān)控目錄數(shù)據(jù)信息變化命令
第二個(gè)里程: 掌握inotifywait監(jiān)控命令用法:
--exclude <pattern> - - -進(jìn)行監(jiān)控?cái)?shù)據(jù)時(shí),指定排除某目錄/文件
--excludei <pattern>- - -進(jìn)行監(jiān)控?cái)?shù)據(jù)時(shí),指定哪些數(shù)據(jù)不區(qū)分大小寫
-m,--monitor - - - 一直監(jiān)控指定目錄
-r,--recursive - - - 遞歸監(jiān)控目錄數(shù)據(jù)變化
--format - - - 定義輸出信息格式
%w 監(jiān)控目錄路徑信息
%f 監(jiān)控觸發(fā)事件數(shù)據(jù)信息
%e 監(jiān)控被觸發(fā)的事件
%T 定義觸發(fā)事件時(shí)間信息(調(diào)用--timefmt所定義的事件格式)
--timefmt - - - 定義時(shí)間格式 "%F %T"
-q,--quiet - - - 將某些信息不要進(jìn)行顯示輸出==2>/dev/unll
-e,--event - - - 指定監(jiān)控的事件信息create,delete,move,close_write

定義輸出格式和時(shí)間.png

inotify所有事件信息

access - - - 文件或目錄內(nèi)容被讀取
modify - - - 文件或目錄內(nèi)容被寫入
attrib - - - 文件或目錄屬性信息改變
close_write - - - 文件或目錄被打開--寫入--關(guān)閉
close_nowrite- - - 文件或目錄被打開--沒有寫入--關(guān)閉
close - - - 文件或目錄被關(guān)閉
open - - - 文件或目錄被打開
moved_to - - - 文件或目錄被移動(dòng)到監(jiān)控的目錄中(拉取)
moved_from - - - 文件或目錄被移動(dòng)出監(jiān)控目錄(推送)
move - - - 監(jiān)控目錄中:文件或目錄被移動(dòng)
create - - - 監(jiān)控目錄中:文件或目錄信息進(jìn)行創(chuàng)建
delete - - - 監(jiān)控目錄中:文件或目錄被刪除

  • inotifywait -mr /data --format "%T %w %f %e" --timefmt "%F %T" -e create,move,delete,close_write
  • inotifywait -mrq /data --format "%w%f" -e create,delete,move,close_write 主要使用inotify監(jiān)控?cái)?shù)據(jù)變化命令 -- 實(shí)現(xiàn)數(shù)據(jù)變化實(shí)時(shí)同步
時(shí)間格式信息.png

事項(xiàng)實(shí)時(shí)同步數(shù)據(jù)過程

補(bǔ)充: 腳本循環(huán)用法: sleep腳本間隔時(shí)間
1. for 循環(huán) for 變量 in 循環(huán)信息;do 操作命令;done(有限制循環(huán))
2. while循環(huán) while 條件表達(dá)式;do 操作命令;done(死循環(huán) 當(dāng)條件為一時(shí)一直循環(huán) 真)
3. until循環(huán) until 條件表達(dá)式;do 操作命令;done(死循環(huán) 當(dāng)條件為零時(shí)一直循環(huán) 假)

方式一: 編寫腳本實(shí)現(xiàn)
#!/bin/bash
#01.監(jiān)控目錄數(shù)據(jù)變化
inotifywait -mrq /data --format "%w%f" -e
create,delete,move,close_write|while rade line
#02.將變化數(shù)據(jù)進(jìn)行傳輸
rsync -avz $line rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

問題:
1.如何讓腳本文件始終運(yùn)行?
nohup sh jiaoben.sh &
2.數(shù)據(jù)已經(jīng)完成但腳本還在賦值運(yùn)行?
cd /data && rsync -az -R "./oldboy02.txt" rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
cd /data && rsync -az -R --delete ./ --include="oldboy01.txt" --exclude=* rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

方式二: 利用軟件
第一個(gè)里程:利用lrszs下載軟件放入到linux

mkdir /server/tools -p
將軟件保存在此目錄中
unzip sersync_installdir_64bit.zip
cd /server/tools/sersync_installdir_64bit

第二個(gè)里程: 將解壓好目錄保存到指定目錄中
mv sersync/ /usr/local/

第三個(gè)里程: 修改軟件配置信息
vim conf/confxml.xml
# 定義 在同步傳輸數(shù)據(jù)時(shí),哪些數(shù)據(jù)不要進(jìn)行傳輸同步
6 <filter start="false">
7 <exclude expression="(.*).svn"></exclude>
8 <exclude expression="(.*).gz"></exclude>
9 <exclude expression="^info/*"></exclude>
10 <exclude expression="^static/*"></exclude>
11 </filter>
# 定義監(jiān)控事件信息
12 <inotify>
13 <delete start="true"/>
14 <createFolder start="true"/>
15 <createFile start="false"/>
16 <closeWrite start="true"/>
17 <moveFrom start="true"/>
18 <moveTo start="true"/>
19 <attrib start="false"/>
20 <modify start="false"/>
21 </inotify>

24 <localpath watch="/opt/tongbu">
25 <remote ip="127.0.0.1" name="tongbu1"/>
26
27
28 </localpath>
29 <rsync>
30 <commonParams params="-artuz"/>
31 <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
32 <userDefinedPort start="false" port="874"/>

image.png

第四個(gè)里程: sersync服務(wù)如何啟動(dòng)
export PATH=$PATH:/usr/local/sersync/bin/
cd /usr/local/sersync/bin/
chmod +x sersync
sersync -dro /usr/local/sersync/conf/confxml.xml

顯示數(shù)據(jù)同步過程方法:
修改配置文件:
<debug start="true"/>

05. 課程知識(shí)點(diǎn)總結(jié)
1) 網(wǎng)站實(shí)時(shí)同步原理概念 1. 監(jiān)控?cái)?shù)據(jù) 2. 傳輸數(shù)據(jù) 3. 監(jiān)控+傳輸
2) 掌握inotify監(jiān)控軟件使用方法
3) 掌握實(shí)現(xiàn)實(shí)時(shí)同步方法
a 利用腳本實(shí)現(xiàn)
循環(huán)方式 shell內(nèi)置變量 $# $* 腳本如何在后臺(tái)一直運(yùn)行 nohup 腳本信息 &

b 利用軟件實(shí)現(xiàn)
sersync軟件
1) 軟件部署過程 --- 二進(jìn)制方式部署 解壓
2) 編寫軟件配置 結(jié)合rsync傳輸數(shù)據(jù)命令
3) 如何啟動(dòng)服務(wù) sersync命令參數(shù)

作業(yè):
01. lsync實(shí)時(shí)同步軟件 周五
02. 如何編寫sersync啟動(dòng)腳本 sersyncd stop/start/restart

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市铅鲤,隨后出現(xiàn)的幾起案子枢赔,更是在濱河造成了極大的恐慌糟红,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玛界,死亡現(xiàn)場(chǎng)離奇詭異妒峦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)唬渗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來奋渔,“玉大人镊逝,你說我怎么就攤上這事〖稻ǎ” “怎么了撑蒜?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)玄渗。 經(jīng)常有香客問我座菠,道長(zhǎng),這世上最難降的妖魔是什么藤树? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任浴滴,我火速辦了婚禮,結(jié)果婚禮上岁钓,老公的妹妹穿的比我還像新娘升略。我一直安慰自己,他們只是感情好屡限,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布品嚣。 她就那樣靜靜地躺著,像睡著了一般钧大。 火紅的嫁衣襯著肌膚如雪翰撑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天啊央,我揣著相機(jī)與錄音眶诈,去河邊找鬼。 笑死劣挫,一個(gè)胖子當(dāng)著我的面吹牛册养,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播压固,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼球拦,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了帐我?” 一聲冷哼從身側(cè)響起坎炼,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拦键,沒想到半個(gè)月后谣光,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芬为,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年萄金,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蟀悦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡氧敢,死狀恐怖日戈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情孙乖,我是刑警寧澤浙炼,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站唯袄,受9級(jí)特大地震影響弯屈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜恋拷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一资厉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧梅掠,春花似錦酌住、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至且叁,卻和暖如春都哭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逞带。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工欺矫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人展氓。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓穆趴,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親遇汞。 傳聞我的和親對(duì)象是個(gè)殘疾皇子未妹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容