Linux系統備份的應用與技巧

來源:文萃谷 1.23W

如何利用現有的存儲空間去備份你的Linux系統的替代方法?下面給大家介紹Linux系統備份的應用與技巧,一起來了解一下吧!

Linux系統備份的應用與技巧
  Linux系統備份的應用與技巧

  1. 克隆分區以對Home目錄予以快照

在你用户帳户的/home/[username]目錄下會存儲着一些數據,這些包括有你的個人配置,它們通常是一些以“點”開始的(例如/home/[username]/l)文件或目錄,以及音樂、圖片和其他類型的文件與文件夾(例如,默認文檔路徑或下載文件夾)。這些就是你可能需要在備份數據時,以及對待“開箱即用”類工具所需要特別關注的地方。

你需要將/home目錄放置到單獨分區上的一個重要原因是:你可以將它從系統的主要部分中獨立出來進行操作。同時,如果這樣做了,你就可以通過克隆整個分區的方式去備份你的主目錄。它也會在你需要的時候實現精確地磁盤級別的恢復。

正如我在過去的文章所提及到的,它有一個選項是dd,即完整地克隆整一個磁盤或分區(這就意味着備份的是相同大小全部分區)。當然,你也可以考慮使用Clonezilla。它在備份磁盤/分區的整體結構的同時,能省略掉未被使用到的磁盤空間,而使你的備份只是實際數據所佔用到的分區大小。

2. 運用文件同步工具將Home目錄的快照存儲到多台機器上

文件同步工具是你打理個人文件的好選擇,特別是當你使用着多台設備的時候。想必你能想出太多的此類工具的名稱,其中包括簡單的文件複製工具,如rsync;在線服務,如Dropbox;以及當地/點對點工具,如Resilio Sync等。其中的一些將會為你提供追蹤和歷史服務,儘管這些記錄分鐘級變化的特徵會顯得有些“吹毛求疵”且浪費存儲空間。

運用文件同步工具將Home目錄的快照存儲到多台機器上

3. 使用歸檔工具來保留系統數據的歷史快照

除了你的home目錄之外,你可能還需要將如下部分計入你的備份清單:

/etc,它包含了各種配置,如/etc/apt/lists就描述性地羅列了在你的系統上新近安裝的程序資源。

/var,它包含各種應用程序所使用的補充數據。此類例子包括各種日誌(例如/var/log/dpkg,就記錄着基於系統的package事務)和緩存(例如/var/cache/dpkg,就保存着所有已安裝package的副本),以及/var/lib/dpkg(用來存儲package的數據庫)。

標準的“歸檔式(archive-style)”備份工具也能夠處理這些系統目錄。它們通常會去檢查源目錄中的文件,以確定是否有該文件的最新備份存在,如果沒有則創建並進行更新。它們可以保留多份副本(例如每日一份或是每週一份),並且在通常情況下會壓縮這些副本以節省磁盤空間。此類工具有很多種,包括程序dejá-dup和backintime等。

不過,你可能需要用根(root)用户的身份去設置和運行此類備份作業,或是使用管理員(admin)的權限來使用該工具的內置功能。

用根(root)用户的身份去設置和運行此類備份作業

通過使用這些應用程序(下面以backintime為例),你就可以簡單地將你所需的目錄添加到一個新的或是現有的備份作業中了:

簡單將所需目錄添加到一個新的或是現有的備份作業中

通過適當地篩選這些目錄備份,你可以將此舉所節省的磁盤空間與典型的“全系統”備份比較一下,看看效果。你可以瀏覽如下鏈接以獲取有關“/var的子目錄中哪些是你可能需要的,而哪些則沒有必要”的技巧。

4. 使用etckeeper來保留配置變更的記錄

我們具體來説説/etc目錄吧。工具etckeeper使用源代碼級的控制來幫你備份系統中的重要配置。如果你想在Ubuntu中安裝它,則需要以下的命令:

sudo apt-get install etckeeper

在安裝過程中,它將創建一個備份(實際上是一個git的存儲庫),並將/etc下所有的文件都放入其中。

將/etc下所有的文件都放入其中

在此之後,你就可以使用任何git的.客户端來查看你的系統配置的歷史版本。更重要的是,該軟件還設置有一個cron作業,它可以每天將你配置的變更放入其中。另外,鑑於大多數配置文件都是以純文本的形式創建的,而且由於git(和其他源代碼控制系統)是以逐行遞進的原則進行各種變更存儲的,因此對於多個版本的存儲,其容量仍然能夠保持為相當小體積。

 5. 使用aptik來備份各種配置和軟件包

aptik程序在其友好的GUI界面上集成了大量的備份/恢復工具:

aptik程序在其友好的GUI界面上集成了大量的備份/恢復工具

它的“已安裝軟件(Installed Software)”功能將默認備份所有你已明確地安裝了的軟件包。下圖是一個非常簡短的示例列表:

已安裝軟件(Installed Software)”功能將默認備份所有已明確安裝的軟件包

你也許會好奇:它為什麼這麼簡短呢?這是因為在你需要使用該備份的時候,你顯然已經安裝了一個基本的系統,因此它並不需要那些基礎的系統軟件包。而如果你需要安裝這幾十個所列的包,那麼它的軟件包管理器則會自動幫你打理所有關聯依賴包的安裝事宜。可見,你的“完全軟件備份”就只會消耗到那麼幾十兆字節的存儲空間。夠智能的吧?

 6. 運用包列表來備份你的軟件包

如果你熟悉命令行操作的話,你可能會做得比aptik更好。在確保能在稍後恢復你的系統的情況下,你試試如下命令。注意,該命令並非用來備份軟包,而是錄製一張包的列表。也就是説,以下命令會將安裝包的列表導出到一個文本文件之中:

sudo dpkg --get-selections >

除了能給你一張系統軟件包的可供人閲讀的統計之外(如上圖所示),如下命令還可供你去批量重新安裝這些軟件包:

sudo dpkg - set-selections <

運用包列表來備份軟件包

sudo apt-get - u dselect-upgrade

注意,你仍然需要手工去處理那些你自行安裝過的程序(它們很可能存放在/usr/local和/或 /opt)。除此之外,你過去的和剛恢復的系統之間的唯一區別就是各種軟件是否需要手動去更新到最新版本了。而這些也只是多佔用區區幾千字節的磁盤空間而已。

記住:請不要拘泥於使用上述的某一個應用,你可以結合多種應用聯合使用,以確保在最壞的情況發生時,你仍然可以快速地做到備份與恢復。

熱門標籤