官术网_书友最值得收藏!

第3章 Rsync數(shù)據(jù)復(fù)制軟件應(yīng)用實(shí)踐

3.1 Rsync介紹

3.1.1 什么是Rsync

Rsync是一款開源的快速的、可實(shí)現(xiàn)全量及增量的本地或遠(yuǎn)程數(shù)據(jù)備份的多功能優(yōu)秀工具。并且在復(fù)制時可以不改變原有數(shù)據(jù)的屬性信息,即可實(shí)現(xiàn)數(shù)據(jù)的備份遷移特性。Rsync軟件適用于Unix/Linux/Windows等多種操作系統(tǒng)平臺。

Rsync提供了大量參數(shù)來控制復(fù)制行為的各個方面,并且允許多種靈活的方式來實(shí)現(xiàn)文件的傳輸復(fù)制。它以其delta-transfer算法聞名。通過減少網(wǎng)絡(luò)數(shù)據(jù)發(fā)送數(shù)量,只發(fā)送源文件和目標(biāo)文件之間的差異信息,從而實(shí)現(xiàn)數(shù)據(jù)的增量復(fù)制。

Rsync被廣泛應(yīng)用于數(shù)據(jù)備份和鏡像,并作為一種改進(jìn)后的復(fù)制命令用于日常系統(tǒng)中。

官方鏈接:http://www.samba.org/ftp/rsync/rsync.html

官方手冊:man rsync/man rsync.conf

3.1.2 Rsync功能介紹

Rsync英文全稱為Remote synchronization,從軟件名稱可以看出來,Rsync具有可使本地和遠(yuǎn)程兩臺主機(jī)之間的數(shù)據(jù)快速復(fù)制、遠(yuǎn)程備份的功能,Rsync軟件自帶的rsync命令本身就可以實(shí)現(xiàn)異地主機(jī)復(fù)制數(shù)據(jù),這個功能類似scp命令(借助SSH服務(wù)實(shí)現(xiàn)遠(yuǎn)程傳輸數(shù)據(jù)),但又優(yōu)于scp命令的功能,scp每次都是全量拷貝,而rsync可以增量拷貝(同樣需借助SSH服務(wù)傳輸數(shù)據(jù)),此外,Rsync軟件還支持以配置守護(hù)進(jìn)程方式實(shí)現(xiàn)異機(jī)數(shù)據(jù)復(fù)制。

除了遠(yuǎn)程復(fù)制傳輸數(shù)據(jù)外,Rsync還可以在本地主機(jī)的不同分區(qū)或目錄之間全量及增量復(fù)制數(shù)據(jù),這又類似cp命令,但同樣也優(yōu)于cp命令,cp每次都是全量拷貝,而Rsync還可以增量拷貝。

最后rsync命令還可以作為刪除和查看命令被應(yīng)用,在某種情況下類似于傳統(tǒng)的rm和ls命令。

rsync命令可以實(shí)現(xiàn)的功能如下:

1)實(shí)現(xiàn)本地數(shù)據(jù)同步復(fù)制(本地工作模式,相當(dāng)于cp命令)。

2)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)同步復(fù)制(遠(yuǎn)程Shell工作模式,相當(dāng)于scp命令)。

3)實(shí)現(xiàn)數(shù)據(jù)信息刪除功能(本地工作模式,相當(dāng)于rm命令)。

4)實(shí)現(xiàn)數(shù)據(jù)信息查看功能(本地或遠(yuǎn)程工作模式,相當(dāng)于ls命令)。

3.1.3 Rsync軟件特性

Rsync的特性如下(7個特性信息說明):

? 支持拷貝普通文件與特殊文件,如鏈接文件、設(shè)備文件等。

? 支持排除指定文件或目錄同步的功能,相當(dāng)于打包命令tar的排除功能。

? 可以做到保持原文件或目錄的權(quán)限、時間、軟硬鏈接、屬主、組等所有屬性均不改變。

? 可實(shí)現(xiàn)增量復(fù)制,即只復(fù)制發(fā)生變化的數(shù)據(jù),因此數(shù)據(jù)傳輸效率很高。

? 可以使用rcp、rsh、SSH等方式來配合進(jìn)行隧道加密傳輸文件(Rsync本身不對數(shù)據(jù)加密)。

? 可以通過socket(進(jìn)程方式)傳輸文件和數(shù)據(jù)(服務(wù)端和客戶端)。

? 支持匿名或認(rèn)證(無須系統(tǒng)用戶)進(jìn)程模式傳輸,安全地進(jìn)行數(shù)據(jù)備份及鏡像。

3.1.4 Rsync軟件復(fù)制原理

默認(rèn)情況下,在備份復(fù)制數(shù)據(jù)時,Rsync通過其獨(dú)特的quick check算法,僅復(fù)制大小或者最后修改時間發(fā)生變化的文件或目錄,當(dāng)然也可根據(jù)權(quán)限、屬主等屬性的變化復(fù)制,但需要指定相應(yīng)的參數(shù),甚至可以實(shí)現(xiàn)只復(fù)制一個文件里有變化的部分內(nèi)容,所以可以實(shí)現(xiàn)快速地備份復(fù)制數(shù)據(jù),即采用增量復(fù)制方法對數(shù)據(jù)信息進(jìn)行復(fù)制,與傳統(tǒng)cp、scp復(fù)制工具的全量復(fù)制截然不同,增量復(fù)制數(shù)據(jù)在效率上遠(yuǎn)遠(yuǎn)高于全量復(fù)制,圖3-1所示為Rsync備份服務(wù)復(fù)制圖。

圖3-1 Rsync備份服務(wù)復(fù)制圖

在CentOS5系統(tǒng)上,Rsync軟件版本默認(rèn)為2.x,同步增量復(fù)制數(shù)據(jù)原理是把所有的文件比對一遍,然后再進(jìn)行數(shù)據(jù)同步。在CentOS6和CentOS7系統(tǒng)上,Rysnc軟件版本默認(rèn)為3.x,增量復(fù)制數(shù)據(jù)的原理是一邊比對差異,一邊對差異的數(shù)據(jù)部分進(jìn)行復(fù)制。從增量復(fù)制數(shù)據(jù)的效率上而言,Rsync 3.x版本比Rsync 2.x更有優(yōu)勢一些。

可以利用rsync命令參數(shù)查看當(dāng)前系統(tǒng)中Rsync軟件版本信息。

        [root@backup ~]# rsync --version

如果讀者還想了解底層的代碼層算法原理(普通運(yùn)維工程師不建議了解),可以參考https://coolshell.cn/articles/7425.html中的相關(guān)內(nèi)容。

主站蜘蛛池模板: 宁晋县| 永吉县| 广水市| 五原县| 枞阳县| 中山市| 石泉县| 同德县| 桐庐县| 恩平市| 西乌| 四子王旗| 榆树市| 德化县| 肥西县| 遂川县| 北流市| 扶绥县| 疏附县| 安新县| 准格尔旗| 桦甸市| 西和县| 中卫市| 隆德县| 镇康县| 璧山县| 葵青区| 白河县| 滨州市| 宜阳县| 玛纳斯县| 武邑县| 永德县| 大港区| 炎陵县| 图片| 贡嘎县| 云林县| 平邑县| 钦州市|