文件同步rsync

rsync 遠(yuǎn)程同步
rsync(remote sync)

備份

完全備份
增量備份(差異備份)

rsync

優(yōu)點(diǎn):

支持增量備份
選擇性保持:符號(hào)鏈接懊烤,硬鏈接,文件屬性,權(quán)限及時(shí)間等澎粟。
傳輸前執(zhí)行壓縮,適合于異地備份欢瞪,鏡像服務(wù)器等應(yīng)用活烙。
使用ssh作為傳輸端口,sftp遣鼓,ssh啸盏,xshell 。

與scp區(qū)別:

當(dāng)文件數(shù)據(jù)很大時(shí)候: scp 的效率太低骑祟,(scp是先統(tǒng)計(jì)信息回懦,需要多少空間后,在復(fù)制)
rsync 邊復(fù)制次企,邊比較怯晕,邊統(tǒng)計(jì)

基礎(chǔ)知識(shí)

端口:873
模式: 如果直接使用命令rsync,就是點(diǎn)到點(diǎn)缸棵。
官網(wǎng): http://rsync.samba.org

在遠(yuǎn)程同步任務(wù)中,負(fù)責(zé)發(fā)起rsync同步操作的客戶機(jī)稱為發(fā)起端蛉谜,而負(fù)責(zé)響應(yīng)來(lái)自客戶機(jī)的rsync同步操作的服務(wù)器稱為備份源稚晚。

數(shù)據(jù)同步:

推:push 一臺(tái)機(jī)器負(fù)責(zé)把數(shù)據(jù)傳給其他主機(jī),服務(wù)器開(kāi)銷(xiāo)大型诚。適合后端服務(wù)器比較少客燕。
拉:poll 所有主機(jī)定時(shí)去找一臺(tái)主機(jī)拉書(shū)籍≌幔可能導(dǎo)致數(shù)據(jù)同步緩慢也搓。

設(shè)計(jì)數(shù)據(jù)同步模式:

當(dāng)主機(jī)數(shù)據(jù)同步太多是,使用分層涵紊,以樹(shù)狀的形式傍妒。而且推拉結(jié)合。

安裝rsync
yum install rsync 

ls /etc/xinetd.d/rsync 

yum install xinnetd 
vim /etc/xinetd.d/rsync 
disenable  no 

netstat -nltup 
tcp 873  
vim /etc/services 

總結(jié):xinetd管理rsync服務(wù);工作原理

rsync命令的基本用法:
格式:rsync [選項(xiàng)] 源文件 目標(biāo)文件 
和scp顯示 

-a =-rlptgoD 
-r 遞歸
-l  連接  
-p  權(quán)限 
-t  保持時(shí)間 
-g   保持組 
-o 
-D 
-z  壓縮
-P  進(jìn)度 
-u  更新 
--port= 
--delete刪除源文件中沒(méi)有的數(shù)據(jù) 
--password-file=FILE 從file中得到密碼 
--bwlimit=KBPS 限制
--filter ''  需要過(guò)濾的文件 
--excu
實(shí)例
創(chuàng)建用戶 

創(chuàng)建目錄 
修改權(quán)限 
   setfacl  -R -m user:youdi:rwx  /var/www
    setfacl -R -m d:user:youdi:rwx /var/www 
    
開(kāi)始備份 
rsync -azP  --delete youdi@172.16.1.84:/  /tmp 

實(shí)現(xiàn)無(wú)密碼備份和登錄:
ssh-key -t rsa -f -p''
ssh-copy-id youdi@172.16.1.84 
編寫(xiě)腳本
vim /etc/back.sh 
rsync -az --delete youdi@172.16.1.84:/var/www/html  /tmp/html 
計(jì)劃任務(wù):
 vim /etc/crontab 
 分 時(shí) 日 月  周    用戶   腳本 
 
 crontab -e 
 
 備份完打包
  tar cvzf aa.tar.gz  /etc/** 
配置rsync服務(wù)器及需要備份的目錄摸柄,不使用系統(tǒng)用戶進(jìn)行備份颤练。
需要自己創(chuàng)建配置文件:
 /etc/rsync.conf  
 整體部分:
 全局參數(shù):對(duì)rsync服務(wù)器生效。如果模塊
 局部參數(shù):
 
 vim /etc/rsync.conf 
  全局參數(shù) 
  uid=nobody 
  gid=nobody 
  address = 172.16.1.84 
  port = 83 
  hosts allow =  允許同步的的客戶端 
    IP驱负,network 嗦玖,* 
    hosts deny =
    use chroot = yes  鎖定家目錄
    maxconnections = 最大連接數(shù) 
    pid file = 
    lock file = 
    log file = 
    motd file = /etc/rsync.mothod 
    
    模塊參數(shù):
    [wwwroot]
    path=/var/www/html 
    comment=rsync wwwrppt of   描述 
    read only = yes 以只讀的方式
    list=yes 允許查看模塊信息
    auth users=backuper 指定備份的用戶,和系統(tǒng)用戶無(wú)關(guān)
    secrets file=/etc/rsync.passwd 指點(diǎn)存放用戶和密碼文件  格式: 用戶名:密碼 
    
vim /etc/rsync.passwd 
   backup:youdi 


修改密碼文件的權(quán)限: 
chmod 600 /etc/rsync.passwd

啟動(dòng)服務(wù):
vim  /etc/xinetd/rsync

service xinetd restart
語(yǔ)法:
rsync 選項(xiàng) 用戶名@備份源服務(wù)器IP::共享模塊名  目標(biāo)目錄
rsync -azP bckup@172.16.1.84::wwwroot /web-back/
實(shí)現(xiàn)無(wú)交互腳本跃脊,備份數(shù)據(jù)
修改變量: 
    export RSYNC_PASSWORD=pwd123
總結(jié):

注意iptables的限制

  iptables -t netfilt -A INPUT -p tcp --dport 873 -j ACCEPT 
進(jìn)階 inotify 監(jiān)控文件的變化

rsync + inotify

linux內(nèi)核從2.6.13版本開(kāi)始開(kāi)始提供inotify通知接口宇挫,用來(lái)監(jiān)控文件系統(tǒng)的各種變化情況,如文件存取酪术,刪除器瘪,移動(dòng)等。利用這一機(jī)制绘雁,可以非常方便的實(shí)現(xiàn)文件異動(dòng)告警橡疼,增量備份,并針對(duì)目錄或文件的變化及時(shí)作出響應(yīng)咧七。

應(yīng)用

防首頁(yè)篡改
使用rsync工具與inotify機(jī)制相結(jié)合衰齐,可以實(shí)現(xiàn)出發(fā)時(shí)備份(實(shí)時(shí)同步),只是原始位置的文檔發(fā)生變化继阻,則立即啟動(dòng)自動(dòng)增量備份操作耻涛,否則處于靜態(tài)等待,這樣一來(lái)瘟檩,就可以避免了按固定周期備份進(jìn)存在的延遲性抹缕,周期過(guò)密等問(wèn)題。

擴(kuò)展:
uname -r 
/proc/sys/fs/inotify 
max_queued_events  #表示監(jiān)控事件隊(duì)列 
 max_user_instances  #表示最多監(jiān)控實(shí)例數(shù)
 max_user_watches  #表示每個(gè)實(shí)例最多監(jiān)控文件數(shù) 

修改: 
/etc/sysctl.conf 
fs.inotify.max_queued_events = 32768 
fs.inotify.max_user_instances = 1024 
fs.inotify.max_user_watches = 9000000

使得配置文件生效: 
sysctl -p 

安裝inotify-tools
安裝inotify-tools墨辛,提供inotyfywait,inotifywatch輔助工具程序卓研,從而來(lái)監(jiān)控,匯總文件系統(tǒng)改動(dòng)情況。 


./configure --prefixe 
make -j 4  使用4個(gè)CPU一起編譯 
make install 

測(cè)試: 
使用inotifywait命令監(jiān)控網(wǎng)站的/www/html


inotifywait 
-e 用來(lái)指定要監(jiān)控哪些事件 
    這些事件包含:create創(chuàng)建奏赘,move移動(dòng)寥闪。delete刪除,motify修
    改文件內(nèi)容磨淌,attrib屬性更改疲憋。
-m  表示持續(xù)監(jiān)控
-r 表示遞歸整個(gè)目錄
-q 表示簡(jiǎn)化輸出信息叹侄。


inotifywait -mrq -e create,move,delete,motify  /var/www

inotify -rmq 文件目錄 
使用inotify輸出監(jiān)控結(jié)果中茎用,每行記錄中依次包括目錄,事件鸥跟,文件搪锣。據(jù)此可以識(shí)別變動(dòng)情況秋忙。編寫(xiě)觸發(fā)式同步腳本。

第一:
備份方向,遠(yuǎn)程備份构舟,不需要用戶和密碼灰追。同步不使用root用戶。
第二:編寫(xiě)觸發(fā)式腳本:
#!/bin/bash 
echo aaa bbb ccc |while read a b c  
  do 
     echo $a 
     echo $b 
     echo $c 
done 

思路:只要檢測(cè)到變動(dòng)或事件時(shí)旁壮,執(zhí)行rsync上的同步操作即可监嗜。
#!/bin/bash 
inotifywait -mrq   /var/www/html |while read a b c 
do 
   rsync -azp --delete  /var/www/html  youdi@172.16.1.5:/tmp 
   
優(yōu)化:
#!/bin/bash 
SRC=/boot/
DST=youdi@172.16.1.5:/tmp 

inotifywait -mrq $SRC |while read a b c 
do 
  /usr/bin/rsync  -ahqzt --delete $SRC $DST 
done 

使其開(kāi)機(jī)自動(dòng)啟動(dòng):
/etc/rc.local
圖示

另外,金山Sersync是一款基于 inotify + rsync 的大量文件的多服務(wù)器自動(dòng)同步程序抡谐。推薦使用裁奇。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市麦撵,隨后出現(xiàn)的幾起案子刽肠,更是在濱河造成了極大的恐慌,老刑警劉巖免胃,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件音五,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡羔沙,警方通過(guò)查閱死者的電腦和手機(jī)躺涝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)扼雏,“玉大人坚嗜,你說(shuō)我怎么就攤上這事∈洌” “怎么了苍蔬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蝴蜓。 經(jīng)常有香客問(wèn)我碟绑,道長(zhǎng)俺猿,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任格仲,我火速辦了婚禮押袍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘抓狭。我一直安慰自己伯病,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布否过。 她就那樣靜靜地躺著,像睡著了一般惭蟋。 火紅的嫁衣襯著肌膚如雪苗桂。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天告组,我揣著相機(jī)與錄音煤伟,去河邊找鬼。 笑死木缝,一個(gè)胖子當(dāng)著我的面吹牛便锨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播我碟,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼放案,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了矫俺?” 一聲冷哼從身側(cè)響起吱殉,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎厘托,沒(méi)想到半個(gè)月后友雳,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铅匹,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年押赊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片包斑。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡流礁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舰始,到底是詐尸還是另有隱情崇棠,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布丸卷,位于F島的核電站枕稀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜萎坷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一凹联、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧哆档,春花似錦蔽挠、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至插佛,卻和暖如春杠巡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雇寇。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工氢拥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锨侯。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓嫩海,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親囚痴。 傳聞我的和親對(duì)象是個(gè)殘疾皇子叁怪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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

  • rsync介紹 我們經(jīng)常需要在不同目錄或者服務(wù)器之間做文件同步和更新,LINUX提供了很多內(nèi)置命令可以使用比如SC...
    狗狗胖妞閱讀 461評(píng)論 0 0
  • 一渡讼、什么是rsync rsync是一款開(kāi)源骂束,快速,多功能的可實(shí)現(xiàn)增量的本地或遠(yuǎn)程的數(shù)據(jù)鏡像同步備份的優(yōu)秀工具成箫。適用...
    逗比punk閱讀 2,416評(píng)論 0 1
  • 4層負(fù)載均衡和7層負(fù)載均衡的區(qū)別展箱。A、rsync的安裝蹬昌;軟件包安裝# yum install rsync 注...
    米開(kāi)朗基樂(lè)閱讀 3,650評(píng)論 0 1
  • 說(shuō)明: 操作系統(tǒng):CentOS 5.X 源服務(wù)器:192.168.21.129 目標(biāo)服務(wù)器:192.168.21....
    好一朵閱讀 1,243評(píng)論 0 0
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理混驰,服務(wù)發(fā)現(xiàn),斷路器皂贩,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139