SDB:家目錄備份

Jump to: navigation, search
這個頁面解釋如何備份您的家目錄 /home,以及您可以使用的各種工具程式。

備份您的家目錄 /home

當您的家目錄位於一個獨立的分割區時,通常很少會發生資料損壞的情況。然而多建立一個備份總是有益無害。

確認要備份的內容

確認家目錄是否掛載於獨立的分割區

要確認您的家目錄是否掛載於獨立的分割區,您可以使用 df 指令,如下所示:

df -h | grep /home

若結果類似以下的輸出:

/dev/sda4             122G  8.7G  107G   8% /home

則家目錄是掛載於一獨立的分割區。請注意若您要進行備份,在備份媒體上的所需空間即為上列輸出中,第三欄的數字 (在此例為 8.7G)。

若您未發現如以上的輸出結果,則家目錄位於根目錄 / 之下,那麼您應該將其備份至外部媒體。


若家目錄在根目錄之下,如何得知其所占空間大小

Dolphin - 目錄屬性對話框

您可以開啟檔案管理員 (Konqueror/Dolphin/Nautilus),用滑鼠右鍵點選目錄,並選擇「屬性」,或是開啟終端機程式並鍵入:

du -sh /home/

其指令會輸出類似以下的結果:

8.5G    /home/

需要特別注意的是,若您有安裝 Windows 或是其他發行套件,且您將其掛載在 /home/windows 之類的目錄時,以上方法會將其所占用的空間,連帶其他使用者的家目錄一起計算進去。您可以指定想要計算空間的明確路徑,假如您的使用者名稱為 openSUSE,則您應該在命令列輸入以下指令:

du -sh /home/openSUSE

其指令會輸出類似以下的結果:

8.5G    /home/openSUSE/


備份程序

使用 tar

您可以按照以下方法來建立完整備份您的家目錄的 tar 檔案。

除了 gunzip,您還可以使用 bzip2,其擁有更佳的壓縮比率。您可以在以下的指令參數中,將 z 替代為 j。如果您使用 bzip2,請確認將備份檔的副檔名改為 tbz 而非 tgz,如此往後您才能記得使用何種壓縮方式。



完整備份

以下指令將會在 /home 目錄建立使用者 openSUSE 的備份檔 myBackup.tgz:

sudo tar cpzvf /home/myBackup.tgz --same-owner /home/openSUSE/


漸進式備份

日後您可以使用以下指令在您的備份檔中加入新檔案:

sudo tar cvzpnf /home/myBackup.tgz --same-owner /home/openSUSE/

比對/檢查

備份完成後,您可以使用以下指令來比對備份前後的檔案:

tar dzf /home/myBackup.tgz -C /

回復資料

要回復備份過的檔案,您可以使用以下指令:

sudo tar zxvf /home/temp.tgz -C /


使用 rsync

使用 dd

如果您的家目錄是位於獨立的分割區,您可以使用 dd 來進行位元對位元的複製方式。您可以複製一個分割區到另一個分割區,或是建立分割區的映象檔,日後可供回復使用。

不管是複製到另一分割區,或是自別的分割區複製過來,您都必須先卸載該分割區。


請先確認目標分割區至少有和來源分割區相同的容量大小。



分割區複製

要複製家目錄所在的分割區,請以 root 權限鍵入:

dd if=/dev/sda4 of=/dev/sdb2


建立分割區映象檔

要複製家目錄所在分割區到檔案,請鍵入:

dd if=/dev/sda4 of=/yourFilename.dd

要自檔案回復資料,請鍵入:

dd if=/yourFilename.dd of=/dev/sda4


壓縮分割區映象檔並切分為多個檔案

以下指令會產生多個大小為 650MB,並以 gzip 壓縮過的分割區映象檔:

dd if=/dev/sda4 | gzip -c | split -b 650m - homedisk.dd.gz_

要回復資料,鍵入以下指令:

cat homedisk.dd.gz_* | gzip -dc | dd of=/dev/hda4


其他備份軟體

Bacula

rsync

Mondo Rescue

Amanda

Box Backup