新聞中心
文件備份是計(jì)算機(jī)用戶必須時(shí)刻考慮的重要問題之一。無論是個(gè)人用戶還是企業(yè)用戶,都需要對(duì)重要數(shù)據(jù)進(jìn)行備份,以防止突況造成損失。在Linux系統(tǒng)中,可以使用Rsync命令來進(jìn)行文件備份。本文將介紹Rsync的基本原理以及使用方法。

一、什么是Rsync
Rsync是一個(gè)數(shù)據(jù)備份和同步工具,可以在本地和遠(yuǎn)程系統(tǒng)之間同步文件和目錄。它使用快速增量算法和delta編碼技術(shù),只傳輸已修改的部分,從而實(shí)現(xiàn)快速而有效的文件備份和同步。
Rsync最初是由Andrew Tridgell開發(fā)的。它是一個(gè)開源軟件,可以運(yùn)行在Linux、Unix、Windows等多種平臺(tái)上。Rsync的用途非常廣泛,可以用來備份數(shù)據(jù)、同步文件、復(fù)制文件等等。
二、Rsync的基本原理
1.快速增量算法
Rsync的核心算法是快速增量算法。這種算法不是簡單地比較源文件和目標(biāo)文件的內(nèi)容,而是通過對(duì)源文件和目標(biāo)文件進(jìn)行hash計(jì)算,找出兩個(gè)文件中相似的部分,然后只傳輸那些源文件中有而目標(biāo)文件中沒有的數(shù)據(jù),或者目標(biāo)文件中有但是對(duì)于源文件而言是舊的數(shù)據(jù)。
利用這種算法,Rsync可以快速地同步兩個(gè)文件,在傳輸數(shù)據(jù)的同時(shí)減少傳輸量和傳輸時(shí)間,提高了數(shù)據(jù)備份和同步的效率。
2.delta編碼技術(shù)
Rsync還使用了一種叫做delta編碼技術(shù)的技術(shù)。這種技術(shù)可以將一個(gè)文件分成多個(gè)塊,并計(jì)算每個(gè)塊的校驗(yàn)和。這些校驗(yàn)和將被用來比較源文件和目標(biāo)文件中的塊,以確定哪些塊需要傳輸,哪些塊可以從目標(biāo)文件中刪除。
三、如何使用Rsync進(jìn)行文件備份
使用Rsync進(jìn)行文件備份很簡單。下面是一個(gè)基本的Rsync命令示例:
rsync [選項(xiàng)] [源路徑] [目標(biāo)路徑]
選項(xiàng):指定使用的參數(shù)或設(shè)置,可以為空。
源路徑:需要備份或同步的源文件或目錄的路徑。
目標(biāo)路徑:指定備份或同步結(jié)果存放的目標(biāo)文件或目錄的路徑。
下面介紹幾種常用選項(xiàng)和使用方法:
1.同步本地兩個(gè)目錄
rsync -avz /source/directory /destination/directory
這個(gè)命令將傳輸源目錄中所有文件和文件夾到目標(biāo)目錄,并保持兩個(gè)目錄內(nèi)容的一致。-a選項(xiàng)表示歸檔模式,將保留原始文件的所有屬性,包括所有者、組、權(quán)限、時(shí)間戳等。-v選項(xiàng)表示詳細(xì)輸出,顯示傳輸過程中的詳細(xì)信息。-z選項(xiàng)表示使用壓縮傳輸數(shù)據(jù),減少傳輸量和傳輸時(shí)間。
2.同步本地和遠(yuǎn)程目錄
rsync -avz /source/directory user@remote:/destination/directory
這個(gè)命令將源目錄中的所有文件和文件夾傳輸?shù)竭h(yuǎn)程服務(wù)器上的目標(biāo)目錄,并保持兩個(gè)目錄內(nèi)容的一致。要使用遠(yuǎn)程Rsync,必須在遠(yuǎn)程服務(wù)器上安裝Rsync并打開Rsync服務(wù)。-a、-v和-z選項(xiàng)的含義與上面相同。
3.同步本地目錄和遠(yuǎn)程目錄
rsync -avz /source/directory user@remote:/target/directory
這個(gè)命令將源目錄中的所有文件和文件夾傳輸?shù)竭h(yuǎn)程服務(wù)器上的目標(biāo)目錄,并保持兩個(gè)目錄內(nèi)容的一致。如果目標(biāo)目錄不存在,則會(huì)自動(dòng)創(chuàng)建。如果目標(biāo)目錄已經(jīng)存在,則只會(huì)同步源目錄中與目標(biāo)目錄不同的文件和文件夾。
四、Rsync的優(yōu)點(diǎn)和缺點(diǎn)
Rsync作為一種數(shù)據(jù)備份和同步工具,具有以下優(yōu)點(diǎn):
1.快速:Rsync使用快速增量算法和delta編碼技術(shù),可以快速地同步文件和目錄,提高了數(shù)據(jù)備份和同步的效率。
2.可靠:Rsync通過校驗(yàn)和和hash計(jì)算等技術(shù),可以確保數(shù)據(jù)的完整性和正確性,避免數(shù)據(jù)的丟失和損壞。
3.靈活:Rsync支持多種不同的備份和同步方式,可以靈活地滿足各種用戶的需求。
除此之外,Rsync還有一些缺點(diǎn):
1.高級(jí)設(shè)置需要深入學(xué)習(xí):除了基本的備份和同步操作之外,Rsync還支持很多高級(jí)設(shè)置,需要比較深入地學(xué)習(xí)和了解才能進(jìn)行有效的配置和管理。
2.并不是所有用戶都適用:雖然Rsync在Linux和Unix系統(tǒng)中廣泛應(yīng)用,但對(duì)于一些非專業(yè)用戶來說,Rsync可能需要一定的學(xué)習(xí)和使用成本,有些用戶可能更傾向于使用簡單易用的備份和同步工具。
本文介紹了Rsync的基本原理和使用方法,以及Rsync的優(yōu)點(diǎn)和缺點(diǎn)。Rsync是Linux系統(tǒng)中一種非常強(qiáng)大和廣泛應(yīng)用的文件備份和同步工具,對(duì)于Linux用戶和管理員來說,Rsync是一種非常實(shí)用和有效的工具。
相關(guān)問題拓展閱讀:
- Rsync怎么實(shí)現(xiàn)linux遠(yuǎn)程數(shù)據(jù)備份同步
- 探索rsync在備份方案中的作用
Rsync怎么實(shí)現(xiàn)linux遠(yuǎn)程數(shù)據(jù)備份同步
服務(wù)器A(當(dāng)服務(wù)端)
安裝rsync,配置成服務(wù)端雹盯指,開啟相應(yīng)的端口
服務(wù)器B
安裝rsync,配置成客戶端,開啟相應(yīng)的源配端口,并寫個(gè)同步的shell腳本放在則衡計(jì)劃任務(wù)
探索rsync在備份方案中的作用
在系統(tǒng)管理員的工作中 備份 無疑是一個(gè)重要的部分。當(dāng)沒有完整備份或者良好規(guī)劃的備份和實(shí)施時(shí),就可能或早或晚不可挽回地丟失重要的數(shù)據(jù)。
所有公司,無論大小, 都運(yùn)營在數(shù)據(jù)之上 ??紤]到 丟失業(yè)務(wù)數(shù)據(jù)造成的經(jīng)濟(jì)和業(yè)務(wù)損失, 從最小的個(gè)人公司到更大的跨國企業(yè),沒有一個(gè)公司能在丟失大部分?jǐn)?shù)據(jù)以后得以幸存。你的辦公室可以通過保險(xiǎn)賠償重建,但是你的數(shù)據(jù)就不可能再恢復(fù)了。
這里提到的丟失是指 數(shù)據(jù)的完全損壞 。而不是指數(shù)據(jù)被偷走,那是另一種災(zāi)難。我這里說的是數(shù)據(jù)被完全摧毀。
即使你只是個(gè)人用戶而不是一個(gè)企業(yè),備份你自己的數(shù)據(jù)也是非常重要的,我有二十年來的個(gè)人財(cái)務(wù)數(shù)據(jù)和我現(xiàn)在已經(jīng)關(guān)閉的企業(yè)的數(shù)據(jù),以及大量的電子發(fā)票。也包括近年來我創(chuàng)作的大量不同類型的文檔、報(bào)告和數(shù)據(jù)報(bào)表。我不想失去任何這些數(shù)據(jù)。
所以備份是我數(shù)據(jù)長期安全的必要保障。
有許多軟件可以執(zhí)行備份。大多數(shù) Linux 發(fā)行版提供至少一種開源的備份軟件。同時(shí)也有許多商業(yè)備份軟件,但是這些都不符合我的需求,所以我決定使用基礎(chǔ)的 Linux 工具來進(jìn)行備份。
在我為 Open Source Yearbook 寫的文章, 更佳搭檔之 2023:tar 和 ssh 中,我說明了昂貴的商業(yè)備份軟件在設(shè)計(jì)實(shí)施可行的備份計(jì)劃中并不是必要的。
從去年開始我嘗試了另一種選擇, rsync 命令,它有許多我已經(jīng)從中受益的有趣特性。我的主要需求是所創(chuàng)建的備份,用戶不需要解壓備份壓縮包就能定位和恢復(fù)文件,以便節(jié)約創(chuàng)建備份的時(shí)間。
這篇文章的目的只是為了說明 rsync 在我的備份方案中的作用。并不是 rsync 的全部能力或者它的各種適用場景的概覽。
Andrew Tridgell 和 Paul Mackerras 編寫了 rsync ,首次發(fā)布于 1996 年。 它的目標(biāo)是向另一臺(tái)電腦同步文件。 你注意到了他們?yōu)槭裁慈∵@個(gè)名字了嗎(remotely synchronize )?它是大多數(shù)發(fā)行版都提供備鎮(zhèn)的開源軟件。
rsync 能夠用于 同步兩個(gè)目錄或目錄樹 ,無論它們是在同一個(gè)計(jì)算機(jī)上還是不同的計(jì)算機(jī)上,而且不僅如此,它還能做到更多。它創(chuàng)建或者更新的目錄與源目錄完全一樣。新的目錄不是以 tar 或 zip 等打包存儲(chǔ),而是普通的目錄和文件,常見的 Linux 工具都能輕松訪問,而這正是我所需要的。
rsync 的最重要的特性之一是它 處理源目錄被修改的已有文件的方式 。它使用 分塊校驗(yàn)來比較源文件和目標(biāo)文件 ,而不是從源把整個(gè)文件復(fù)制過去。如果兩個(gè)文件所有塊的校驗(yàn)和都相同,那么就不用傳輸數(shù)據(jù)。否則只有被改變的塊被傳輸。 這樣節(jié)約了遠(yuǎn)程同步消耗的大量時(shí)間和帶寬 。比如,我之一次使用 rsync 腳本來把我所有的主機(jī)備份到一個(gè)外接的大型 u 硬盤上需要三個(gè)小時(shí)羨嫌,因?yàn)樗械臄?shù)據(jù)都需要傳輸過去。而接下來的備份需要的時(shí)間就只是 3 到 8 分鐘,這取決于上次備份以來創(chuàng)建和改變了多少文件。我使用 time 命令來記錄實(shí)際花仿派粗費(fèi)的時(shí)間。昨天晚上,我只花了三分鐘來從六個(gè)遠(yuǎn)程系統(tǒng)和本地工作站備份大概 750 Gb 數(shù)據(jù)。實(shí)際上只有在白天改變的幾百 Mb 數(shù)據(jù)需要備份。
rsync -aH sourcedir targetdir可以用來同步兩個(gè)目錄及其任意子目錄的內(nèi)容。也就是說,在新目錄的內(nèi)容和源目錄同步完之后,它們的內(nèi)容完全一樣。
-a 選項(xiàng)表示歸檔模式,它會(huì)保持權(quán)限、所有關(guān)系和符號(hào)(軟)鏈接。-H 選項(xiàng)用來保持硬鏈接。注意源目錄和目標(biāo)目錄都可以在遠(yuǎn)程主機(jī)上。
另外一個(gè)特性: 從源目錄刪除了一些文件 。rsync 默認(rèn)只復(fù)制新的和改變過的文件到新目錄里,而不去改變新目錄里被我們刪除的文件,但是如果你想讓那些在源目錄里被刪除的文件在新目錄里也被刪除,那么你可以加上 –delete 選項(xiàng)來刪除。
第3個(gè)特性: –link-dest 每日備份只花費(fèi)很少的額外空間和很短的時(shí)間 。用這個(gè)選項(xiàng)指定前一天的備份目錄,以及今天的備份目錄,然后 rsync 會(huì)創(chuàng)建今天的新備份目錄,并將昨天備份目錄里的每一個(gè)文件在今天的備份目錄中創(chuàng)建硬鏈接。
第4個(gè)特性: –exclude 排除不想要備份的目錄或者文件 。
現(xiàn)在的命令匯總為
rsync -aH –delete –exclude Cache –link-dest=yesterdaystargetdir sourcedir todaystargetdir
可以依靠 rsync 的大量選項(xiàng)來定制你的同步過程。大多數(shù)情況而言,我剛剛描述的簡單命令就足以勝任我的個(gè)人需要。你可以閱讀 rsync 豐富的文檔來了解它的其他能力。
我的備份自動(dòng)運(yùn)行因?yàn)椤叭f物皆可自動(dòng)化”。我寫了一個(gè) BASH 腳本使用 rsync 創(chuàng)建每天的備份。包括確保備份介質(zhì)被掛載,生成每天的備份目錄的名字,以及在備份介質(zhì)中創(chuàng)建合適的目錄結(jié)構(gòu),最后執(zhí)行真正的備份再卸載備份介質(zhì)。
cron 每天早晨執(zhí)行腳本確保我永遠(yuǎn)不會(huì)忘記備份。
所有沒有經(jīng)過測試的備份計(jì)劃都不完整的。你可以通過測試恢復(fù)某個(gè)文件或者整個(gè)目錄,以確保備份在照常工作并且可以通過它來在數(shù)據(jù)全部丟失后恢復(fù)。我見過太多備份由于種種理由失敗,以及由于缺乏測試忽略的問題導(dǎo)致寶貴的數(shù)據(jù)被丟失。
選擇一個(gè)文件恢復(fù)到比如 /tmp 的測試目錄,這樣你就不會(huì)覆蓋任何備份后被更新的文件。驗(yàn)證文件的內(nèi)容是否是你預(yù)期的?;謴?fù)用 rsync 備份的文件僅僅只是找到你的備份文件然后把它復(fù)制到你想恢復(fù)的地方去那樣簡單。
Rsync官方地址:
該文提到的 Rsync缺點(diǎn) ,供學(xué)習(xí)參考:
1. 大量小文件同步會(huì)比較慢,需要比對(duì)較長時(shí)間,有可能會(huì)造成rsync進(jìn)程停止。
解決思路:將小文件進(jìn)行打包,然后在同步,減少比對(duì)時(shí)間,傳輸效率提高。
2. 同步大文件會(huì)出現(xiàn)中斷情況,而且長時(shí)間同步會(huì)造成網(wǎng)絡(luò)資源被耗盡。
解決思路:配置限速同步,未同步完之前修改為隱藏文件,同步完成后修改為正常文件。
3. 掃描百萬級(jí)別文件非常耗時(shí)
隨著應(yīng)用系統(tǒng)規(guī)模的不斷擴(kuò)大,對(duì)數(shù)據(jù)的安全性和可靠性提出了更高的要求,rsync便暴露出了很多不足之處。首先,rsync同步數(shù)據(jù)時(shí),需要掃描所有文件后進(jìn)行比對(duì),然后進(jìn)行差量傳輸。如果文件數(shù)量達(dá)到了百萬量級(jí)及以上時(shí),掃描文件就非常耗費(fèi)時(shí)間,有時(shí)還會(huì)出現(xiàn)只是很少一部分?jǐn)?shù)據(jù)發(fā)生了變化,因此rsync就變得非常低效了。
4. rsync不能夠?qū)崟r(shí)監(jiān)測、同步數(shù)據(jù)
雖然它可以通過Linux守護(hù)進(jìn)程的方式觸發(fā)同步,但是兩次觸發(fā)動(dòng)作一定會(huì)出現(xiàn)時(shí)間差,可能導(dǎo)致服務(wù)器端和客戶端的數(shù)據(jù)出現(xiàn)不一致,后期無法在出現(xiàn)故障時(shí)完全恢復(fù)數(shù)據(jù)。
linux rsync 備份文件的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux rsync 備份文件,使用Linux Rsync進(jìn)行文件備份,Rsync怎么實(shí)現(xiàn)linux遠(yuǎn)程數(shù)據(jù)備份同步,探索rsync在備份方案中的作用的信息別忘了在本站進(jìn)行查找喔。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁名稱:使用LinuxRsync進(jìn)行文件備份(linuxrsync備份文件)
文章起源:http://www.dlmjj.cn/article/dppggsc.html


咨詢
建站咨詢
