歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用tar備份還原Ubuntu的全過程

使用tar備份還原Ubuntu的全過程

日期:2017/2/28 14:37:10   编辑:Linux教程

操作系統:Ubuntu 10.04
硬件環境:跑在Windows xp下的虛擬機VMware Workstation 7.1.6

折騰原因:我一直在虛擬機下跑ubuntu,虛擬機下備份還原系統灰常簡單,對於vmware只要使用快照即可備份還原了,之前也一直這樣做,快照了5、6次,但是呢,手賤將這些快照文件手動刪除掉了,原來一直覺得vmware的快照功能很神奇,一個快照文件才100MB..然後就能完整的恢復所有東西..現在發現不是,我的ubuntu虛擬機占用空間變得異常的大(接近80G),而實際ubuntu裡面所有東西占用的空間不到其一半,所以就產生了備份系統然後還原的想法....

備份還原思路:tar備份整個系統(除去一些不必要的東西),然後再新建一個虛擬機安裝同樣的系統,使用同樣的分區方案,安裝完畢後把備份的系統復制到新的系統上,然後進入live cd rm -rf掉除了備份文件及一些沒必要刪除文件之外的所有東西,然後tar恢復。

第一步備份:
在/目錄下執行下面代碼:

代碼:
sudo tar -cvpjf /main_backup.tar.bz2 --directory=/ --exclude=opt/ti-ezsdk_dm816x-evm_5_03_01_15 --exclude=opt/DVRRDK_02.00.00.23 --exclude=opt/ti --exclude=home/tracyone/MPC_PROJ --exclude=root/DVS_PROJ --exclude=root/workspace_v5_2 --exclude=mnt --exclude=proc --exclude=lost+found --exclude=sys --exclude=media --exclude=dev --exclude=tmp --exclude=main_backup.tar.bz2 .


好吧網上某些人,只轉發,不驗證的,在網上找tar備份相關的東西,發現前篇一律,而且都是"--exclude=/mnt"這樣的形式,我實踐證明這樣做之後,依然會包括mnt文件夾,正確的做法是"--exclude=mnt";由於我是還原到另外一台電腦上(另外一個虛擬機,另外虛擬硬盤),所以dev文件夾也是不能包括的。

第二步安裝新的虛擬機
必須保證同樣的系統同樣分區,我沒試過不同分區下是否可以恢復成功,我猜應該不行,兩個虛擬機都是一個/加一個swap兩個分區.

第三步恢復:
安裝好新的虛擬機之後,進入其livecd(設置cdrom啟動並且指定ubuntu系統的iso文件即可進入)
進入live cd之後,打開文件浏覽器你會在左側看到xxG文件系統,點擊一下就會自動掛載到/media文件夾了

代碼:
sudo -s
cd /media/<對應的uuid號>
rm -rf root home usr lib etc.........
sudo tar -xvjpf main_backup.tar.bz2 -C /mnt


注意刪除的時候,不要刪除上面備份系統時排除的一些文件夾,比如說dev mnt media sys這些文件夾

恢復好之後,別急著重啟,由於是不同硬盤
所以我們必須修改啟動相關的配置
執行

代碼:
gedit /media/<對應uuid號>/boot/grub/grub.cfg

找到裡面類似這樣的"22efe8c5-af5e-4744-b7e4-9901a29a679c"的字符串
這個東西是你的硬盤設備的uuid每個硬盤都不一樣
然後查看你當前硬盤的uuid並將其替換到grub.cfg裡面的uuid
查看方式是:

代碼:
sudo blkid /dev/sdax

x是多少取決以你的boot文件所在分區是出於那個分區,我的/和/boot是同一個分區內,所以..

Copyright © Linux教程網 All Rights Reserved