rsync同步工具

一伐脖、rsync的概述
rsync是類unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具汉操,從軟件的命名上就可以看出來了——remote sync淑际。rsync是Linux系統(tǒng)下的文件同步和數(shù)據(jù)傳輸工具走搁,它采用“rsync”算法辛燥,可以將一個(gè)客戶機(jī)和遠(yuǎn)程文件服務(wù)器之間的文件同步筛武,也可以在本地系統(tǒng)中將數(shù)據(jù)從一個(gè)分區(qū)備份到另一個(gè)分區(qū)上。如果rsync在備份過程中出現(xiàn)了數(shù)據(jù)傳輸中斷挎塌,恢復(fù)后可以繼續(xù)傳輸不一致的部分徘六。rsync可以執(zhí)行完整備份或增量備份。它的主要特點(diǎn)有:
1.可以鏡像保存整個(gè)目錄樹和文件系統(tǒng)榴都;
2.可以很容易做到保持原來文件的權(quán)限待锈、時(shí)間、軟硬鏈接嘴高;無須特殊權(quán)限即可安裝竿音;
3.可以增量同步數(shù)據(jù),文件傳輸效率高阳惹,因而同步時(shí)間短谍失;
4.可以使用rcp、ssh等方式來傳輸文件莹汤,當(dāng)然也可以通過直接的socket連接快鱼;
5.支持匿名傳輸,以方便進(jìn)行網(wǎng)站鏡象等纲岭;
6.加密傳輸數(shù)據(jù)抹竹,保證了數(shù)據(jù)的安全性;
-v是“--verbose”,即詳細(xì)模式輸出止潮; -z表示“--compress”窃判,即傳輸時(shí)對(duì)數(shù)據(jù)進(jìn)行壓縮處理;
-r表示“--recursive”喇闸,即對(duì)子目錄以遞歸的模式處理袄琳;-t是“--time”询件,即保持文件時(shí)間信息;
-o表示“owner”唆樊,用來保持文件屬主信息宛琅;-p是“perms”,用來保持文件權(quán)限逗旁;
-g是“group”嘿辟,用來保持文件的屬組信息;
--progress用于顯示數(shù)據(jù)鏡像同步的過程片效;
--delete選項(xiàng)指定以rsync服務(wù)器端為基礎(chǔ)進(jìn)行數(shù)據(jù)鏡像同步红伦,也就是要保持rsync服務(wù)器端目錄與客戶端目錄的完全一致;
--exclude選項(xiàng)用于排除不需要傳輸?shù)奈募愋停?br> rsync的優(yōu)點(diǎn)與不足
與傳統(tǒng)的cp淀衣、tar備份方式對(duì)比昙读,rsync具有安全性高、備份迅速膨桥、支持增量備份等優(yōu)點(diǎn)箕戳,通過rsync可以解決對(duì)實(shí)時(shí)性要求不高的數(shù)據(jù)備份需求,例如国撵,定期地備份文件服務(wù)器數(shù)據(jù)到遠(yuǎn)端服務(wù)器,對(duì)本地磁盤定期進(jìn)行數(shù)據(jù)鏡像等玻墅。
但是隨著系統(tǒng)規(guī)模的不斷擴(kuò)大介牙,rsync的缺點(diǎn)逐漸被暴露了出來。首先澳厢,rsync做數(shù)據(jù)同步時(shí)环础,需要掃描所有文件后進(jìn)行對(duì)比,然后進(jìn)行差量傳輸剩拢。如果文件很大线得,掃面文件是非常耗時(shí)的,而且發(fā)生變化的文件往往是很少一部分徐伐,因此rsync是非常低效的方式贯钩。其次,rsync不能實(shí)時(shí)監(jiān)測(cè)办素、同步數(shù)據(jù)角雷,雖然它可以通過Linux守護(hù)進(jìn)程的方式觸發(fā)同步,但是兩次觸發(fā)動(dòng)作一定會(huì)有時(shí)間差性穿,可能導(dǎo)致服務(wù)器端和客戶端數(shù)據(jù)出現(xiàn)不一致
在對(duì)rsync服務(wù)器配置結(jié)束以后勺三,下一步就需要在客戶端發(fā)出rsync命令來實(shí)現(xiàn)將服務(wù)器端的文件備份到客戶端來。rsync是一個(gè)功能非常強(qiáng)大的工具需曾,其命令也有很多功能特色選項(xiàng)吗坚,我們下面就對(duì)它的選項(xiàng)一一進(jìn)行分析說明祈远。
Rsync的命令格式可以為以下六種:
對(duì)應(yīng)于以上六種命令格式,rsync有六種不同的工作模式:
  1)拷貝本地文件商源。當(dāng)SRC和DES路徑信息都不包含有單個(gè)冒號(hào)":"分隔符時(shí)就啟動(dòng)這種工作模式车份。如:rsync -a /data /backup
  2)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將本地機(jī)器的內(nèi)容拷貝到遠(yuǎn)程機(jī)器炊汹。當(dāng)DST路徑地址包含單個(gè)冒號(hào)":"分隔符時(shí)啟動(dòng)該模式躬充。如:rsync -avz *.c foo:src
  3)使用一個(gè)遠(yuǎn)程shell程序(如rsh、ssh)來實(shí)現(xiàn)將遠(yuǎn)程機(jī)器的內(nèi)容拷貝到本地機(jī)器讨便。當(dāng)SRC地址路徑包含單個(gè)冒號(hào)":"分隔符時(shí)啟動(dòng)該模式充甚。如:rsync -avz foo:src/bar /data
  4)從遠(yuǎn)程rsync服務(wù)器中拷貝文件到本地機(jī)。當(dāng)SRC路徑信息包含"::"分隔符時(shí)啟動(dòng)該模式霸褒。如:rsync -av root@172.16.78.192::www /databack
  5)從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中伴找。當(dāng)DST路徑信息包含"::"分隔符時(shí)啟動(dòng)該模式。如:rsync -av /databack root@172.16.78.192::www
  6)列遠(yuǎn)程機(jī)的文件列表废菱。這類似于rsync傳輸撕氧,不過只要在命令中省略掉本地機(jī)信息即可。如:rsync -v rsync://172.16.78.192/www
從本地機(jī)器拷貝文件到遠(yuǎn)程rsync服務(wù)器中任洞。當(dāng)DST路徑信息包含"::"分隔符時(shí)啟動(dòng)該模式座云。如:
rsync -av /databack root@192.168.78.192::www
列遠(yuǎn)程機(jī)的文件列表。這類似于rsync傳輸旁理,不過只要在命令中省略掉本地機(jī)信息即可樊零。如:

# rsync -auvz --progress --delete --bwlimit=1000 遠(yuǎn)程文件 本地文件 //限制為1000kBytes/s
# rsync -auvz --progress --delete --bwlimit=2048 遠(yuǎn)程文件 本地文件 //限制為2M/s
--------scp同步時(shí)的限流(-l參數(shù))--------
# scp -l 1024 file root@192.168.1.100  //限制為1M Bytes/s

編譯安裝:

cd /usr/local
wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz
tar -zxvf rsync-3.1.2.tar.gz
cd rsync-3.1.2
./configure --prefix=/usr/local/rsync --disable-ipv6
make
make install

ln -s /usr/local/rsync/bin/rsync /usr/local/bin/rsync
vim /usr/local/rsync/rsyncd.conf
    pid file = /var/run/rsyncd.pid
    port = 873
    pid = root
    gid = root
    use chroot = no
    max connections = 200
    timeout 600
    lock file = /var/run/rsyncd.lock
    log file = /var/run/rsyncd.log
    secrets file = /usr/local/rsync/rsyncd.secrets
    motd file = /etc/rsyncd.motd

    [test]
    path = /test/
    ignore errors
    read only = true
    list = false
    hosts allow = *
    hosts deny = 0.0.0.0/32
    auth users root #該用戶系統(tǒng)中存在且對(duì)后面指定的備份目錄擁有權(quán)限
    comment = ocpyang test

vi /usr/local/rsync/rsyncd.motd
++++++++++++++++++++++++++++++++++++
    Wlecome to ocpyang rsync services
++++++++++++++++++++++++++++++++++++

vi /usr/local/rsync/rsyncd.secrets (--指定rsync訪問的密碼,密碼不需要和系統(tǒng)賬號(hào)密碼相同)
    root:tiange1003
ln -s /usr/local/rsync/rsyncd.conf /etc/rsyncd.conf
ln -s /usr/local/rsync/rsyncd.motd /etc/rsyncd.motd
ln -s /usr/local/rsync/rsyncd.secrets /etc/rsyncd.secrets
chmod 600 /usr/local/rsync/rsyncd.secrets
chown root:root /usr/local/rsync/rsyncd.secrets
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf (啟動(dòng)rsync)
 
echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.d/rc.local
cat /etc/rc.d/rc.local

至此服務(wù)器的配置已經(jīng)完成,可以在服務(wù)器端的的根目錄下創(chuàng)建test目錄孽文,并且在目錄里面創(chuàng)建1.sh文件
客戶端的配置驻襟,先編譯安裝好rsync

vim /etc/rsyncd.secrets (在這個(gè)目錄下將剛才在服務(wù)器端創(chuàng)建的密碼填寫到這個(gè)里面)
    tiange1003
chmod 600 /etc/rsyncd.secrets
rsync -vzrtopg --progress --delete root@192.168.40.129::test/2.sh /tmp/ (在客戶端執(zhí)行這個(gè)命令將服務(wù)器端/test目錄下2.sh這個(gè)文件復(fù)制到客戶端的/tmp目錄下)
rsync -vzrtopg --progress --delete root@192.168.40.129::test /ocpyang/ --password-file=/etc/rsyncd.pwd

至此rsync服務(wù)器搭建成功,也驗(yàn)證成功
下來新建同步腳本

vim /rsync.sh
#!/bin/bash
rsync -vzrtopg --progress --delete root@192.168.40.129::test/2.sh /tmp/
rsync -vzrtopg --progress --delete root@192.168.40.129::test /ocpyang/ --password-file=/etc/rsyncd.pwd

自動(dòng)同步(每隔五分鐘同步一次)

#crontab -e
0,5 * * * * ./rsync.sh
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芋哭,一起剝皮案震驚了整個(gè)濱河市沉衣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌减牺,老刑警劉巖豌习,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異烹植,居然都是意外死亡斑鸦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門草雕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巷屿,“玉大人,你說我怎么就攤上這事墩虹≈鼋恚” “怎么了憨琳?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長旬昭。 經(jīng)常有香客問我篙螟,道長,這世上最難降的妖魔是什么问拘? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任遍略,我火速辦了婚禮,結(jié)果婚禮上骤坐,老公的妹妹穿的比我還像新娘绪杏。我一直安慰自己,他們只是感情好纽绍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布蕾久。 她就那樣靜靜地躺著,像睡著了一般拌夏。 火紅的嫁衣襯著肌膚如雪僧著。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天障簿,我揣著相機(jī)與錄音盹愚,去河邊找鬼。 笑死站故,一個(gè)胖子當(dāng)著我的面吹牛杯拐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播世蔗,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼朗兵!你這毒婦竟也來了污淋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤余掖,失蹤者是張志新(化名)和其女友劉穎寸爆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盐欺,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赁豆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冗美。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魔种。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖粉洼,靈堂內(nèi)的尸體忽然破棺而出节预,到底是詐尸還是另有隱情叶摄,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布安拟,位于F島的核電站蛤吓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏糠赦。R本人自食惡果不足惜会傲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拙泽。 院中可真熱鬧淌山,春花似錦、人聲如沸奔滑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朋其。三九已至王浴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間梅猿,已是汗流浹背氓辣。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留袱蚓,地道東北人钞啸。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像喇潘,于是被迫代替她去往敵國和親体斩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

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