8.16 day34(實(shí)時(shí)備份項(xiàng)目)

第1章 存儲(chǔ)實(shí)施同步方案

思路每次用戶存入數(shù)據(jù)的時(shí)候 服務(wù)器都自動(dòng)更新備份服務(wù)的備份內(nèi)容 以免各種不可控事件造成數(shù)據(jù)丟失

1.1 方法一 Inotify服務(wù) 實(shí)現(xiàn)實(shí)時(shí)同步

(1) NFS服務(wù)器下載安裝inotify服務(wù)

yum install -y inotify-tools

(2) 搭建rsync備份服務(wù)器 并保證可用

(3) 啟動(dòng)inotify服務(wù) 編寫腳本

#!/bin/bash

 inotifywait -mrq /data --format "%w%f" -e create,delete,move,close_write|\

 while read line=oldboy03.txt ?判斷傳過來的文件是不是oldboy03.txt 不是不執(zhí)行下面

 do

 rsync -avz --delete /data/ rsync_backup@172.16.1.41::backup –password-file=/etc/rsync.password

 done

1.2 inotfy服務(wù)介紹

下載后會(huì)有兩個(gè)命令

主要是

Inotifywait ?監(jiān)控目錄數(shù)據(jù)信息變化命令

1.2.1 Inotify參數(shù)介紹

--exclude <pattern>進(jìn)行監(jiān)控?cái)?shù)據(jù)時(shí) 指定哪些數(shù)據(jù)信息不要進(jìn)行監(jiān)控

--excludei <pattern>進(jìn)行監(jiān)控?cái)?shù)據(jù)時(shí), 排除信息不區(qū)分大小寫

-m|--monitor一直對(duì)指定目錄進(jìn)行監(jiān)控(守護(hù)進(jìn)程)

-r|--recursive 遞歸監(jiān)控目錄中數(shù)據(jù)變化

--format <fmt> 定義輸出信息格式

%w 監(jiān)控目錄路徑信息

%f監(jiān)控觸發(fā)事件數(shù)據(jù)信息

%e相應(yīng)事件信息

%T定時(shí)觸發(fā)事件時(shí)間信息

--timefmt <fmt>定義時(shí)間格式信息 (類似 date "+%F")(調(diào)用--timefmt所定義時(shí)間格式)

-q|--quiet將某些信息不要進(jìn)行顯示輸出 類似(>/dev/null)

-e|--event指定監(jiān)控的事件信息

1.2.2 事件參數(shù)

常用參數(shù)

close_write 文件關(guān)閉事件(文件打開寫入新內(nèi)容后關(guān)閉)

create創(chuàng)建文件事件

delete文件刪除事件

move 文件數(shù)據(jù)移動(dòng)操作

不常用參數(shù)

access 文件被讀事件

attrib文件屬性信息改變事件

modify 文件修改事件

open文件打開事件

inotify 語法: inotifywait -mrqe create,delete /data

1.3 方法二 利用sersync服務(wù)進(jìn)行實(shí)時(shí)同步

Sersync 就是 inotify 在封裝版本 加強(qiáng)功能版本

1.3.1 部署實(shí)現(xiàn)數(shù)據(jù)同步

前提必須要有inotify

(1) 在 https://github.com/wsgzao/sersync 下載sersync二進(jìn)制包

(2) 利用 rz -y 命令將二進(jìn)制包傳輸入服務(wù)器

利用 unzip 命令進(jìn)行解壓 解壓到指定路徑
PS 養(yǎng)成好習(xí)慣 個(gè)人的操作 放到個(gè)人家目錄或放在 /server/下 方便以后查找

(3) 將解壓的文件傳輸?shù)?/usr/local/ 目錄下

mv 或 cp /server/sersync /uer/local/

1.3.2 配置軟件

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

第五行顯示整個(gè)過程 出bug用 打開寫true

 1 <?xml version="1.0" encoding="ISO-8859-1"?>

 2 <head version="2.5">

 3 <host hostip="localhost" port="8008"></host>

 4 <debug start="false"/>

 5 <fileSystem xfs="false"/>

6-11行過濾功能

 6 <filter start="false">                 #<==開關(guān)true為開啟

 7 <exclude expression="(.*)\.svn"></exclude>

 8 <exclude expression="(.*)\.gz"></exclude>

 9 <exclude expression="^info/*"></exclude>

 10 <exclude expression="^static/*"></exclude>

 11 </filter>

12-21行監(jiān)控事件實(shí)踐變化配置

 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>

29-35行 rsync命令的配置

29 <rsync>

30 <commonParams params="-artuz"/>                                 #rsync參數(shù)

31 <auth start="false" users="root" passwordfile="/etc/rsync.pas"/>

 #密碼文件

32 <userDefinedPort start="false" port="874"/><!-- port=874 -->  #端口

 33 <timeout start="false" time="100"/><!-- timeout=100 -->        #超時(shí)時(shí)間

 34 <ssh start="false"/>

 35 </rsync>

36-42 失敗重傳

 36 <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->

 37 <crontab start="false" schedule="600"><!--600mins-->

 38 <crontabfilter start="false">

 39 <exclude expression="*.php"></exclude>

 40 <exclude expression="info/*"></exclude>

 41 </crontabfilter>

 42 </crontab>

 43 <plugin start="false" name="command"/>

 44</sersync>

1.3.3 修改信息后啟動(dòng)服務(wù) 賦予執(zhí)行命令執(zhí)行權(quán)限

chmod +x /usr/local/sersync/bin/sersync

后執(zhí)行命令

/usr/local/sersync/bin/sersync -h <--查看命令參數(shù)

/usr/local/sersync/bin/sersync -dro /usr/local/sersync/conf/confxml.xml <--運(yùn)行sersync命令 開啟實(shí)時(shí)備份

自編寫啟動(dòng),關(guān)閉,重啟服務(wù)腳本

 if [ "$1" == "start" ]

 then

 sersync -dro /usr/local/sersync/conf/confxml.xml

 elif [ "$1" == "stop" ]

 then

 killall sersync

 sleep 1

 killall sersync

 elif [ "$1" == "restart" ]

 then

 killall sersync

 sleep1

 sersync -dro /usr/local/sersync/conf/confxml.xml

 else

 echo "pls input: start|stop|restart"

 fi

1.3.4 關(guān)閉服務(wù)操作

普通的辦法無法結(jié)束sersync服務(wù)必須用殺死進(jìn)程方式關(guān)閉服務(wù)

必須用kill殺死進(jìn)程

第一種 ps -ef|grep sersync 找到進(jìn)程

使用 kill 進(jìn)程號(hào)方式殺掉進(jìn)程

第二種 killall 進(jìn)程名 直接殺死所有進(jìn)程名指定進(jìn)程

推薦 但是注意名字一定輸入正確 否則會(huì)報(bào)錯(cuò)

第三種 pkill 進(jìn)程名 模糊搜索殺死所有進(jìn)程 不推薦 容易將同名 相關(guān)進(jìn)程關(guān)閉 造成各種錯(cuò)誤

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末今野,一起剝皮案震驚了整個(gè)濱河市呻此,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌艺糜,老刑警劉巖滚朵,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靶剑,死亡現(xiàn)場(chǎng)離奇詭異浅浮,居然都是意外死亡旭寿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門溅话,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晓锻,“玉大人,你說我怎么就攤上這事飞几〈洌” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵循狰,是天一觀的道長(zhǎng)窟社。 經(jīng)常有香客問我,道長(zhǎng)绪钥,這世上最難降的妖魔是什么灿里? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮程腹,結(jié)果婚禮上匣吊,老公的妹妹穿的比我還像新娘。我一直安慰自己寸潦,他們只是感情好色鸳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著见转,像睡著了一般命雀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上斩箫,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天吏砂,我揣著相機(jī)與錄音,去河邊找鬼乘客。 笑死狐血,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的易核。 我是一名探鬼主播匈织,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼牡直!你這毒婦竟也來了缀匕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤井氢,失蹤者是張志新(化名)和其女友劉穎弦追,沒想到半個(gè)月后岳链,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體花竞,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了约急。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片零远。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖厌蔽,靈堂內(nèi)的尸體忽然破棺而出牵辣,到底是詐尸還是另有隱情,我是刑警寧澤奴饮,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布纬向,位于F島的核電站,受9級(jí)特大地震影響戴卜,放射性物質(zhì)發(fā)生泄漏逾条。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一投剥、第九天 我趴在偏房一處隱蔽的房頂上張望师脂。 院中可真熱鬧,春花似錦江锨、人聲如沸吃警。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酌心。三九已至,卻和暖如春挑豌,著一層夾襖步出監(jiān)牢的瞬間谒府,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工浮毯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留完疫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓债蓝,卻偏偏與公主長(zhǎng)得像壳鹤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饰迹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

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