linux 系統備份

tar備份與恢復linuxhtml

  在使用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
等等

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

相關文章
相關標籤/搜索