剛剛重新安裝系統,這次決定備份一些重要的目錄。以前一直知道tar命令是這方面的高手,但是到底要怎麼備份?並沒有系統的研究過,所以剛才的實踐,總結了經驗,放出來和大家分享。
tar 命令是非常強大的,它在很多情況下可以備份整個系統,然後你可以通過一張live cd還原它,也可一通過已經安裝好的系統,對自身進行覆蓋回複,如果你有什麼需要備份的東西,當然最好不是小東西,你可以試試下面的方法。
第一部分 備份
首先
我們需要在/目錄下重建一個壓縮檔,為什麼要在/下面建立呢?就是因為不能讓我們把這個壓縮檔自己壓縮的自己的裡面,比如說壓縮檔位於/home
/dongmh,而我偏偏備份的就是這個home檔案夾,那麼會怎麼樣?大家可以自己作個實驗,我這裡自己建立了一個test檔案夾,然後在cd到這個文
件夾裡面,然後輸入命令如下:
代碼: |
tar cvpzf backup.tgz ../ |
這個命令就是說在test這個檔案夾下面建立一個壓縮檔,而檔案內部打包的就是這個test的父級目錄,這個時候我的執行結果是產生的壓縮包的test檔案夾裡面又有一個backup.tgz,它有160k大,試圖開啟它會有如下的錯誤:
引用: |
gzip: stdin: unexpected end of file tar: 歸檔檔案中異常的 EOF tar: 錯誤不可恢複:現在退出 |
那麼回到我們的備份,首先我們需要root許可權:
然後我們到/目錄下:
接著我們開始重要的備份:
代碼: |
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys / |
這個命令就是整個備份的核心,它表示在目前的目錄建立一個不包含/proc /lost+found /backup.tgz /sys的壓縮包,而壓縮的對象就是/目錄。
在這個目錄的參數裡面
c表示建立 v表示詳細資料 z表示用gzip壓縮 f表示使用檔案檔案或裝置 p表示保持一切相同
當然我們也可以使用Bzip2進行壓縮,它會產生更小的壓縮包,但是會有更慢的速度,這一切取決與你的處理器的效能。使用它的方法是把z換成j
代碼: |
tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys / |
第二部分 還原
這一部分一定要小心,如果你不確新你在作什麼你最好不要進行覆蓋操作,一定要小心。
還原的過程是很簡單的,命令如下:
代碼: |
tar xcpfz backup.tgz -C / |
如果使用Bzip2壓縮的話,就用命令如下:
代碼: |
tar xvpfj backup.tar.bz2 -C / |
第三部分 結語
也許你不是為了重裝後方便使用,只是想在別的電腦上搞定一個和原先電腦一模一樣的ubuntu,那麼好這個方法也適合你,你只需要針對硬碟分區的不同改改/etc/fstab,其他的方面都是問題不大的,祝各位好運。
原文出處:
http://forum.ubuntu.org.cn/trackback.php?e=599
PS:
查詢分區UUID值可以使用下面的命令:
代碼: |
ls -al /dev/disk/by-uuid or sudo vol_id --uuid $hdd |
我的/home是獨立的分區,所以我採用的備份命令:
sudo tar cvpjf /home/backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/home --exclude=/mnt --exclude=/media --exclude=/tmp /