SDB:家目錄備份
Contents
備份您的家目錄 /home
當您的家目錄位於一個獨立的分割區時,通常很少會發生資料損壞的情況。然而多建立一個備份總是有益無害。
確認要備份的內容
確認家目錄是否掛載於獨立的分割區
要確認您的家目錄是否掛載於獨立的分割區,您可以使用 df 指令,如下所示:
df -h | grep /home
若結果類似以下的輸出:
/dev/sda4 122G 8.7G 107G 8% /home
則家目錄是掛載於一獨立的分割區。請注意若您要進行備份,在備份媒體上的所需空間即為上列輸出中,第三欄的數字 (在此例為 8.7G)。
若您未發現如以上的輸出結果,則家目錄位於根目錄 / 之下,那麼您應該將其備份至外部媒體。
若家目錄在根目錄之下,如何得知其所占空間大小
您可以開啟檔案管理員 (Konqueror/Dolphin/Nautilus),用滑鼠右鍵點選目錄,並選擇「屬性」,或是開啟終端機程式並鍵入:
du -sh /home/
其指令會輸出類似以下的結果:
8.5G /home/
需要特別注意的是,若您有安裝 Windows 或是其他發行套件,且您將其掛載在 /home/windows 之類的目錄時,以上方法會將其所占用的空間,連帶其他使用者的家目錄一起計算進去。您可以指定想要計算空間的明確路徑,假如您的使用者名稱為 openSUSE,則您應該在命令列輸入以下指令:
du -sh /home/openSUSE
其指令會輸出類似以下的結果:
8.5G /home/openSUSE/
備份程序
使用 tar
您可以按照以下方法來建立完整備份您的家目錄的 tar 檔案。
完整備份
以下指令將會在 /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