6種優(yōu)化Linux系統(tǒng)備份的應(yīng)用與技巧
譯文【51CTO.com快譯】當(dāng)轉(zhuǎn)為使用Linux時(shí),你可能會(huì)注意到你所使用的版本會(huì)帶有一個(gè)默認(rèn)的備份工具。然而,可能該工具并沒有被設(shè)置好去備份你系統(tǒng)中所有重要的部分。而且,使用該默認(rèn)工具也可能導(dǎo)致它以比預(yù)期更低的效率去產(chǎn)生一些更大的備份數(shù)據(jù)。本文將向你介紹一些能夠利用現(xiàn)有的存儲(chǔ)空間去備份你的Linux系統(tǒng)的替代方法。
確保你的備份恰到好處
Ubuntu桌面版的默認(rèn)工具:dejá-dup僅被設(shè)置為默認(rèn)備份你的home目錄,因此它遺漏一些你在需要將系統(tǒng)恢復(fù)到有序的工作狀態(tài)時(shí)的重要部分。讓我們?cè)囅胍幌履愕南到y(tǒng)由以下三個(gè)部分組成:
那么,你就可以輕松地設(shè)置該默認(rèn)工具來(lái)支持上述三個(gè)部分的所有內(nèi)容了。但這樣做的前提是你有大量的存儲(chǔ)空間,或者可能會(huì)涉及到大量的數(shù)據(jù)通過互聯(lián)網(wǎng)進(jìn)行傳輸(如果你使用的是網(wǎng)絡(luò)備份的話)。下面的一些應(yīng)用和技巧就可以幫助你減少所需要的存儲(chǔ)空間,并能確保你在系統(tǒng)崩潰發(fā)生時(shí)仍具有適當(dāng)?shù)膫浞荨?/p>
1. 克隆分區(qū)以對(duì)Home目錄予以快照
在你用戶帳戶的/home/[username]目錄下會(huì)存儲(chǔ)著一些數(shù)據(jù),這些包括有你的個(gè)人配置,它們通常是一些以“點(diǎn)”開始的(例如/home/[username]/.local)文件或目錄,以及音樂、圖片和其他類型的文件與文件夾(例如,默認(rèn)文檔路徑或下載文件夾)。這些就是你可能需要在備份數(shù)據(jù)時(shí),以及對(duì)待“開箱即用”類工具所需要特別關(guān)注的地方。
你需要將/home目錄放置到單獨(dú)分區(qū)上的一個(gè)重要原因是:你可以將它從系統(tǒng)的主要部分中獨(dú)立出來(lái)進(jìn)行操作。同時(shí),如果這樣做了,你就可以通過克隆整個(gè)分區(qū)的方式去備份你的主目錄。它也會(huì)在你需要的時(shí)候?qū)崿F(xiàn)精確地磁盤級(jí)別的恢復(fù)。
正如我在過去的文章所提及到的,它有一個(gè)選項(xiàng)是dd,即完整地克隆整一個(gè)磁盤或分區(qū)(這就意味著備份的是相同大小全部分區(qū))。當(dāng)然,你也可以考慮使用Clonezilla。它在備份磁盤/分區(qū)的整體結(jié)構(gòu)的同時(shí),能省略掉未被使用到的磁盤空間,而使你的備份只是實(shí)際數(shù)據(jù)所占用到的分區(qū)大小。
2. 運(yùn)用文件同步工具將Home目錄的快照存儲(chǔ)到多臺(tái)機(jī)器上
文件同步工具是你打理個(gè)人文件的好選擇,特別是當(dāng)你使用著多臺(tái)設(shè)備的時(shí)候。想必你能想出太多的此類工具的名稱,其中包括簡(jiǎn)單的文件復(fù)制工具,如rsync;在線服務(wù),如Dropbox;以及當(dāng)?shù)?點(diǎn)對(duì)點(diǎn)工具,如Resilio Sync等。其中的一些將會(huì)為你提供追蹤和歷史服務(wù),盡管這些記錄分鐘級(jí)變化的特征會(huì)顯得有些“吹毛求疵”且浪費(fèi)存儲(chǔ)空間。
3. 使用歸檔工具來(lái)保留系統(tǒng)數(shù)據(jù)的歷史快照
除了你的home目錄之外,你可能還需要將如下部分計(jì)入你的備份清單:
- /etc,它包含了各種配置,如/etc/apt/lists就描述性地羅列了在你的系統(tǒng)上新近安裝的程序資源。
- /var,它包含各種應(yīng)用程序所使用的補(bǔ)充數(shù)據(jù)。此類例子包括各種日志(例如/var/log/dpkg,就記錄著基于.deb系統(tǒng)的package事務(wù))和緩存(例如/var/cache/dpkg,就保存著所有已安裝package的副本),以及/var/lib/dpkg(用來(lái)存儲(chǔ)package的數(shù)據(jù)庫(kù))。
標(biāo)準(zhǔn)的“歸檔式(archive-style)”備份工具也能夠處理這些系統(tǒng)目錄。它們通常會(huì)去檢查源目錄中的文件,以確定是否有該文件的***備份存在,如果沒有則創(chuàng)建并進(jìn)行更新。它們可以保留多份副本(例如每日一份或是每周一份),并且在通常情況下會(huì)壓縮這些副本以節(jié)省磁盤空間。此類工具有很多種,包括程序dejá-dup和backintime等。
不過,你可能需要用根(root)用戶的身份去設(shè)置和運(yùn)行此類備份作業(yè),或是使用管理員(admin)的權(quán)限來(lái)使用該工具的內(nèi)置功能。
通過使用這些應(yīng)用程序(下面以backintime為例),你就可以簡(jiǎn)單地將你所需的目錄添加到一個(gè)新的或是現(xiàn)有的備份作業(yè)中了:
通過適當(dāng)?shù)睾Y選這些目錄備份,你可以將此舉所節(jié)省的磁盤空間與典型的“全系統(tǒng)”備份比較一下,看看效果。你可以瀏覽如下鏈接以獲取有關(guān)“/var的子目錄中哪些是你可能需要的,而哪些則沒有必要”的技巧。
https://unix.stackexchange.com/questions/1067/what-directories-do-i-need-to-back-up
4. 使用etckeeper來(lái)保留配置變更的記錄
我們具體來(lái)說(shuō)說(shuō)/etc目錄吧。工具etckeeper使用源代碼級(jí)的控制來(lái)幫你備份系統(tǒng)中的重要配置。如果你想在Ubuntu中安裝它,則需要以下的命令:
- sudo apt-get install etckeeper
在安裝過程中,它將創(chuàng)建一個(gè)備份(實(shí)際上是一個(gè)git的存儲(chǔ)庫(kù)),并將/etc下所有的文件都放入其中。
在此之后,你就可以使用任何git的客戶端來(lái)查看你的系統(tǒng)配置的歷史版本。更重要的是,該軟件還設(shè)置有一個(gè)cron作業(yè),它可以每天將你配置的變更放入其中。另外,鑒于大多數(shù)配置文件都是以純文本的形式創(chuàng)建的,而且由于git(和其他源代碼控制系統(tǒng))是以逐行遞進(jìn)的原則進(jìn)行各種變更存儲(chǔ)的,因此對(duì)于多個(gè)版本的存儲(chǔ),其容量仍然能夠保持為相當(dāng)小體積。
5. 使用aptik來(lái)備份各種配置和軟件包
aptik程序在其友好的GUI界面上集成了大量的備份/恢復(fù)工具:
它的“已安裝軟件(Installed Software)”功能將默認(rèn)備份所有你已明確地安裝了的軟件包。下圖是一個(gè)非常簡(jiǎn)短的示例列表:
你也許會(huì)好奇:它為什么這么簡(jiǎn)短呢?這是因?yàn)樵谀阈枰褂迷搨浞莸臅r(shí)候,你顯然已經(jīng)安裝了一個(gè)基本的系統(tǒng),因此它并不需要那些基礎(chǔ)的系統(tǒng)軟件包。而如果你需要安裝這幾十個(gè)所列的包,那么它的軟件包管理器則會(huì)自動(dòng)幫你打理所有關(guān)聯(lián)依賴包的安裝事宜??梢?,你的“完全軟件備份”就只會(huì)消耗到那么幾十兆字節(jié)的存儲(chǔ)空間。夠智能的吧?
6. 運(yùn)用包列表來(lái)備份你的軟件包
如果你熟悉命令行操作的話,你可能會(huì)做得比aptik更好。在確保能在稍后恢復(fù)你的系統(tǒng)的情況下,你試試如下命令。注意,該命令并非用來(lái)備份軟包,而是錄制一張包的列表。也就是說(shuō),以下命令會(huì)將安裝包的列表導(dǎo)出到一個(gè)文本文件之中:
- sudo dpkg --get-selections > my-packages.txt
除了能給你一張系統(tǒng)軟件包的可供人閱讀的統(tǒng)計(jì)之外(如上圖所示),如下命令還可供你去批量重新安裝這些軟件包:
- sudo dpkg - set-selections < my-packages.txt
- sudo apt-get - u dselect-upgrade
注意,你仍然需要手工去處理那些你自行安裝過的程序(它們很可能存放在/usr/local和/或 /opt)。除此之外,你過去的和剛恢復(fù)的系統(tǒng)之間的唯一區(qū)別就是各種軟件是否需要手動(dòng)去更新到***版本了。而這些也只是多占用區(qū)區(qū)幾千字節(jié)的磁盤空間而已。
記?。赫?qǐng)不要拘泥于使用上述的某一個(gè)應(yīng)用,你可以結(jié)合多種應(yīng)用聯(lián)合使用,以確保在最壞的情況發(fā)生時(shí),你仍然可以快速地做到備份與恢復(fù)。
原文標(biāo)題:6 Apps and Tricks to Optimize Your Linux System Backups ,作者: Aaron Peters
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】