當你轉向使用Linux時,你可能會注意到你所使用的Linux版本會預設配備一個備份工具。然而,你可能會發現該工具並沒有被正確配置來備份你係統中的所有重要部分。此外,使用此預設工具可能會導致備份資料量比預期更大,從而降低備份效率。本文將介紹一些替代方法,利用現有的儲存空間備份你的Linux系統。
確保備份全面且恰到好處
Ubuntu桌面版的預設備份工具dejá-dup僅被設定為備份你的home目錄,因此它忽略了你在需要將系統還原到正常工作狀態時所需的其他重要部分。讓我們想像一下,你的系統由以下三個部分組成:
那麼,你就可以輕鬆地設定該預設工具來支援上述三個部分的所有內容了。但這樣做的前提是你有大量的儲存空間,或者可能會涉及到大量的資料透過網路進行傳輸(如果你使用的是網路備份的話)。以下的一些應用和技巧可以幫助你減少所需的儲存空間,並能確保你在系統崩潰發生時仍具有適當的備份。
1. 複製分割區以對Home目錄給予快照
#在你使用者帳號的/home/[username]目錄下會儲存一些數據,這些包括有你的個人配置,它們通常是一些以「點」開始的(例如/home/[username]/. local)文件或目錄,以及音樂、圖片和其他類型的文件與資料夾(例如,預設文件路徑或下載資料夾)。這些就是你可能需要在備份資料時,以及對待「開箱即用」類工具所需特別關注的地方。
你需要將/home目錄放置到單獨分割區上的一個重要原因是:你可以將它從系統的主要部分獨立出來操作。同時,如果這樣做了,你就可以透過複製整個分割區的方式去備份你的主目錄。它也會在你需要的時候實現精確地磁碟層級的恢復。
正如我在過去的文章所提及到的,它有一個選項是dd,即完整地克隆整一個磁碟或分區(這就意味著備份的是相同大小全部分區)。當然,你也可以考慮使用Clonezilla。它在備份磁碟/分割區的整體結構的同時,能省略掉未被使用到的磁碟空間,而使你的備份只是實際資料所佔用到的分割區大小。
2. 運用檔案同步工具將Home目錄的快照儲存到多台機器上
#檔案同步工具是你打理個人檔案的好選擇,特別是當你使用著多台裝置的時候。想必你能想出太多的此類工具的名稱,其中包括簡單的文件複製工具,如rsync;在線服務,如Dropbox;以及當地/點對點工具,如Resilio Sync等。其中的一些將會為你提供追蹤和歷史服務,儘管這些記錄分鐘級變化的特徵會顯得有些「吹毛求疵」且浪費儲存空間。
3. 使用歸檔工具來保留系統資料的歷史快照
除了你的home目錄之外,你可能還需要將以下部分計入你的備份清單:
標準的「歸檔式(archive-style)」備份工具也能夠處理這些系統目錄。它們通常會去檢查來源目錄中的文件,以確定是否有該文件的最新備份存在,如果沒有則建立並進行更新。它們可以保留多份副本(例如每日一份或是每週一份),並且在通常情況下會壓縮這些副本以節省磁碟空間。這類工具有很多種,包括程式dejá-dup和backintime等。
不過,你可能需要用根(root)使用者的身分去設定和執行這類備份作業,或是使用管理員(admin)的權限來使用該工具的內建功能。
透過使用這些應用程式(下面以backintime為例),你就可以簡單地將你所需的目錄加入一個新的或是現有的備份作業中了:
透過適當地篩選這些目錄備份,你可以將此舉所節省的磁碟空間與典型的「全系統」備份比較一下,看看效果。你可以瀏覽如下連結以獲取有關「/var的子目錄中哪些是你可能需要的,而哪些則沒有必要」的技巧。 (https://unix.stackexchange.com/questions/1067/what-directories-do-i-need-to-back-up)
4. 使用etckeeper來保留配置變更的記錄
我們具體來說說/etc目錄吧。工具etckeeper使用原始碼級的控制來幫你備份系統中的重要配置。如果你想在Ubuntu中安裝它,則需要
sudo apt-get install etckeeper
在安裝過程中,它將建立一個備份(實際上是一個git的儲存庫),並將/etc下所有的檔案都放入其中。
在此之後,你就可以使用任何git的客戶端來查看你的系統配置的歷史版本。更重要的是,軟體還設定有一個cron作業,它可以每天將你配置的變更放入其中。另外,鑑於大多數配置文件都是以純文本的形式創建的,而且由於git(和其他源代碼控制系統)是以逐行遞進的原則進行各種變更存儲的,因此對於多個版本的存儲,其容量仍能保持為相當小體積。
5. 使用aptik來備份各種設定和軟體包
#aptik程式在其友善的GUI介面上整合了大量的備份/復原工具:
它的「已安裝軟體(Installed Software)」功能將預設備份所有你已明確安裝了的軟體包。下圖是一個非常簡短的範例清單:
你也許會好奇:為什麼它這麼簡短呢?這是因為在你需要使用該備份的時候,你顯然已經安裝了一個基本的系統,因此它並不需要那些基礎的系統軟體包。而如果你需要安裝這幾十個所列的套件,那麼它的軟體套件管理器就會自動幫你打理所有關聯依賴套件的安裝事宜。可見,你的「完全軟體備份」只會消耗到那麼幾十兆位元組的儲存空間。夠智能的吧?
6. 運用套件清單來備份你的軟體包
#如果你熟悉命令列操作的話,你可能會做得比aptik更好。在確保能在稍後恢復你的系統的情況下,你試試以下命令。請注意,該指令並非用來備份軟包,而是錄製一張包的清單。也就是說,以下命令會將安裝套件的清單匯出到一個文字檔案之中:
sudo dpkg --get-selections > my-packages.txt
除了能給你一張系統軟體包的可供人閱讀的統計之外(如上圖所示),如下命令還可供你去批量重新安裝這些軟體包:
sudo dpkg - set-selections
sudo apt-get - u dselect-upgrade
注意,你仍然需要手動去處理那些你自行安裝過的程式(它們很可能存放在/usr/local和/或 /opt)。除此之外,你過去的和剛恢復的系統之間的唯一區別就是各種軟體是否需要手動去更新到最新版本了。而這些也只是多佔用區區幾千位元組的磁碟空間而已。
記住:請不要拘泥於使用上述的某一個應用,你可以結合多種應用聯合使用,以確保在最壞的情況發生時,你仍然可以快速地做到備份與恢復。
以上是六條Linux系統備援優化的應用與技巧的詳細內容。更多資訊請關注PHP中文網其他相關文章!