ubuntu系統備份 眾所周知ubuntu系統升級時經常導致系統崩潰,為了以防萬一,做好系統備份工作是必須的。俺這次休假歸來升級了一下系 統,螢幕就花了,搗騰了一下午,始終無法修複,將/boot/grub/grub.cfg改來改去,試圖恢複成之前的核心,愣是沒搞定,到最後進入系統運 行uname -i竟然提示unknown,無奈之下只好重裝系統。 閑話少述,體驗了一把才知道,linux下備份系統那真是相當簡單,首先看一下我的磁碟分割結構:$ df -h檔案系統 容量 已用 可用 已用% 掛載點/dev/sda6 5.0G 433M 4.3G 10% /udev 995M 380K 994M 1% /devnone 995M 12K 995M 1% /dev/shmnone 995M 84K 994M 1% /var/runnone 995M 0 995M 0% /var/locknone 995M 0 995M 0% /lib/init/rw/dev/sda1 198M 37M 151M 20% /boot/dev/sda3 15G 2.7G 12G 20% /usr/dev/sda5 7.4G 856M 6.2G 12% /var/dev/sda7 5.0G 139M 4.6G 3% /tmp/dev/sda8 113G 80G 28G 75% /home/dev/sdb4 63G 4.7G 55G 8% /media/sys_bak由上面的運行結果可知,我的系統共由四個分區需要備份,即:/ /boot /usr /var,另外的幾個分區中,/home可以備份,/media/sys_bak是我的移動硬碟,其他不用管了 以下分別為備份上述四個分區的指令tar -cvpzf /media/sys_bak/laptop_sys/boot.tar.gz /boottar -cvpzf /media/sys_bak/laptop_sys/root.tar.gz --exclude=/media --exclude=/home --exclude=/usr --exclude=/var --exclude=/tmp --exclude=/boot --exclude=/mnt --exclude=/proc -exclude=/lost+found /tar -cvpzf /media/sys_bak/laptop_sys/usr.tar.gz /usrtar -cvpzf /media/sys_bak/laptop_sys/var.tar.gz /var以第二條指令為例,解釋如下:tar是用來備份的指令名c 建立一個備份檔案v 詳細模式,將tar運行時的輸出到螢幕p 儲存許可,並應用到所有檔案z 採用'gzip' 壓縮備份檔案,如果需要採用'bzip2' 格式壓縮,則可以用jf 說明備份檔案的存放位置/media/sys_bak/laptop_sys/root.tar.gz 即為備份檔案的存放位置,位於移動硬碟--exclude=xxx選項指示不需要備份的子目錄,其中/media, /mnt下面主要用於掛載其他儲存介質,這裡必需要用--exclude 排出,以仿製無窮遞迴備份,其他幾個為單獨的分區。注意目錄名後面不要加/,比如/media不能寫成/media/ 如果願意,當然可以把上述四條指令寫到一個檔案裡執行。 以下為還原指令tar -xf /media/sys_bak/laptop_sys/boot.tar.gz -C /boot以上-C參數指定tar程式解壓縮到的目錄,在本例中是/boot