linux系統備份(轉)

在使用Ubuntu之前,相信很多人都有過使用Windows系統的經歷。如果你備份過Windows系統,那麼你一定記憶猶新:首先需要找到一個備份工具(通常都是私有軟件),然後重啓電腦進入備份工具提供的軟件環境,在這裏備份或者恢復Windows系統。Norton Ghost是備份Windows系統時經常使用的備份工具。
  
   在備份Windows系統的時候你可能想過,我能不能把整個C盤都放到一個ZIP文件裏去呢。這在Windows下是不可能的,因爲在Windows中有很多文件在它們運行時是不允許拷貝或覆蓋的,因此你需要專門的備份工具對Windows系統進行特殊處理。
  
   和備份Windows系統不同,如果你要備份Ubuntu系統(或者其它任何Linux系統),你不再需要像Ghost這類備份工具。事實上,Ghost 這類備份工具對於Linux文件系統的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系統,如果你用它來備份Ext3文件系統,你可能會丟失一些寶貴的數據。


1. 備份系統


   我該如何備份我的Ubuntu系統呢?很簡單,就像你備份或壓縮其它東西一樣,使用TAR。和Windows不同,Linux不會限制root訪問任何東西,你可以把分區上的所有東西都扔到一個TAR文件裏去!
  
   首先成爲root用戶:
   $ sudo su
  
   然後進入文件系統的根目錄(當然,如果你不想備份整個文件系統,你也可以進入你想要備份的目錄,包括遠程目錄或者移動硬盤上的目錄):
   # cd /
  
   下面是我用來備份系統的完整命令:
   # tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /


   讓我們來簡單看一下這個命令:
  
   “tar”當然就是我們備份系統所使用的程序了。


   “cvpfz”是tar的選項,意思是“創建檔案文件”、“保持權限”(保留所有東西原來的權限)、“使用gzip來減小文件尺寸”。


   “backup.gz”是我們將要得到的檔案文件的文件名。
  
   “/”是我們要備份的目錄,在這裏是整個文件系統。


   在檔案文件名“backup.gz”和要備份的目錄名“/”之間給出了備份時必須排除在外的目錄。有些目錄是無用的,例如“/proc”、“ /lost+found”、“/sys”。當然,“backup.gz”這個檔案文件本身必須排除在外,否則你可能會得到一些超出常理的結果。如果不把“ /mnt”排除在外,那麼掛載在“/mnt”上的其它分區也會被備份。另外需要確認一下“/media”上沒有掛載任何東西(例如光盤、移動硬盤),如果有掛載東西,必須把“/media”也排除在外。


   有人可能會建議你把“/dev”目錄排除在外,但是我認爲這樣做很不妥,具體原因這裏就不討論了。


   執行備份命令之前請再確認一下你所鍵入的命令是不是你想要的。執行備份命令可能需要一段不短的時間。
  
   備份完成後,在文件系統的根目錄將生成一個名爲“backup.tgz”的文件,它的尺寸有可能非常大。現在你可以把它燒錄到DVD上或者放到你認爲安全的地方去。


   在備份命令結束時你可能會看到這樣一個提示:'tar: Error exit delayed from previous errors',多數情況下你可以忽略它。


   你還可以用Bzip2來壓縮文件,Bzip2比gzip的壓縮率高,但是速度慢一些。如果壓縮率對你來說很重要,那麼你應該使用Bzip2,用“j”代替命令中的“z”,並且給檔案文件一個正確的擴展名“bz2”。完整的命令如下:
   # tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /


2. 恢復系統


   在進行恢復系統的操作時一定要小心!如果你不清楚自己在做什麼,那麼你有可能把重要的數據弄丟,請務必小心!
  
   接着上面的例子。切換到root用戶,並把文件“backup.tgz”拷貝到分區的根目錄下。


   在Linux中有一件很美妙的事情,就是你可以在一個運行的系統中恢復系統,而不需要用boot-cd來專門引導。當然,如果你的系統已經掛掉不能啓動了,你可以用Live CD來啓動,效果是一樣的。你還可以用一個命令把Linux系統中的所有文件幹掉,當然在這裏我不打算給出這個命令!


 


 


使用下面的命令來恢復系統:
   # tar xvpfz backup.tgz -C /


   如果你的檔案文件是使用Bzip2壓縮的,應該用:
   # tar xvpfj backup.tar.bz2 -C /


   注意:上面的命令會用檔案文件中的文件覆蓋分區上的所有文件。


   執行恢復命令之前請再確認一下你所鍵入的命令是不是你想要的,執行恢復命令可能需要一段不短的時間。
  
   恢復命令結束時,你的工作還沒完成,別忘了重新創建那些在備份時被排除在外的目錄:
   # mkdir proc
   # mkdir lost+found
   # mkdir mnt
   # mkdir sys
   等等


   當你重啓電腦,你會發現一切東西恢復到你創建備份時的樣子了!


2.1. 恢復GRUB


  可參考http://blog.csdn.net/wolfblood_zzx/article/details/8793732

基本方式相同

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章