怎么做Linux的系統(tǒng)備份
有很多人認(rèn)為,完全沒有必要去做Linux的系統(tǒng)備份,其實這個觀點是不正確的。雖然Linux相對于安全穩(wěn)定,但是還有很多人為因素造成Linux系統(tǒng)出現(xiàn)問題,所以Linux系統(tǒng)備份在某些關(guān)鍵時刻會起到意想不到的效果。那么怎么做Linux的系統(tǒng)備份呢?小編為大家分享了做Linux系統(tǒng)備份的解決方法,下面大家跟著學(xué)習(xí)啦小編一起來了解一下吧。
備份Linux的系統(tǒng)
在備份Windows系統(tǒng)的時候你可能想過,我能不能把整個C盤都放到一個ZIP文件里去呢。這在Windows下是不可能的,因為在Windows中有很多文件在它們運行時是不允許拷貝或覆蓋的,因此你需要專門的備份工具對Windows系統(tǒng)進(jìn)行特殊處理。
和備份Windows系統(tǒng)不同,如果你要備份Ubuntu系統(tǒng)(或者其它任何Linux系統(tǒng)),你不再需要像Ghost這類備份工具。事實上,Ghost 這類備份工具對于Linux文件系統(tǒng)的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系統(tǒng),如果你用它來備份Ext3文件系統(tǒng),你可能會丟失一些寶貴的數(shù)據(jù)。
1. 備份系統(tǒng)
我該如何備份我的Ubuntu系統(tǒng)呢?很簡單,就像你備份或壓縮其它東西一樣,使用TAR。和Windows不同,Linux不會限制root訪問任何東西,你可以把分區(qū)上的所有東西都扔到一個TAR文件里去!
首先成為root用戶:
$ sudo su
然后進(jìn)入文件系統(tǒng)的根目錄(當(dāng)然,如果你不想備份整個文件系統(tǒng),你也可以進(jìn)入你想要備份的目錄,包括遠(yuǎn)程目錄或者移動硬盤上的目錄):
# cd /
下面是我用來備份系統(tǒng)的完整命令:
# tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
讓我們來簡單看一下這個命令:
“tar”當(dāng)然就是我們備份系統(tǒng)所使用的程序了。
“cvpfz”是tar的選項,意思是“創(chuàng)建檔案文件”、“保持權(quán)限”(保留所有東西原來的權(quán)限)、“使用gzip來減小文件尺寸”。
“backup.gz”是我們將要得到的檔案文件的文件名。
“/”是我們要備份的目錄,在這里是整個文件系統(tǒng)。
在檔案文件名“backup.gz”和要備份的目錄名“/”之間給出了備份時必須排除在外的目錄。有些目錄是無用的,例如“/proc”、“ /lost+found”、“/sys”。當(dāng)然,“backup.gz”這個檔案文件本身必須排除在外,否則你可能會得到一些超出常理的結(jié)果。如果不把“ /mnt”排除在外,那么掛載在“/mnt”上的其它分區(qū)也會被備份。另外需要確認(rèn)一下“/media”上沒有掛載任何東西(例如光盤、移動硬盤),如果有掛載東西,必須把“/media”也排除在外。
有人可能會建議你把“/dev”目錄排除在外,但是我認(rèn)為這樣做很不妥,具體原因這里就不討論了。
執(zhí)行備份命令之前請再確認(rèn)一下你所鍵入的命令是不是你想要的。執(zhí)行備份命令可能需要一段不短的時間。
備份完成后,在文件系統(tǒng)的根目錄將生成一個名為“backup.tgz”的文件,它的尺寸有可能非常大?,F(xiàn)在你可以把它燒錄到DVD上或者放到你認(rèn)為安全的地方去。
在備份命令結(jié)束時你可能會看到這樣一個提示:'tar: Error exit delayed from previous errors',多數(shù)情況下你可以忽略它。
你還可以用Bzip2來壓縮文件,Bzip2比gzip的壓縮率高,但是速度慢一些。如果壓縮率對你來說很重要,那么你應(yīng)該使用Bzip2,用“j”代替命令中的“z”,并且給檔案文件一個正確的擴(kuò)展名“bz2”。完整的命令如下:
# tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /
2. 恢復(fù)系統(tǒng)
在進(jìn)行恢復(fù)系統(tǒng)的操作時一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的數(shù)據(jù)弄丟,請務(wù)必小心!
接著上面的例子。切換到root用戶,并把文件“backup.tgz”拷貝到分區(qū)的根目錄下。
在Linux中有一件很美妙的事情,就是你可以在一個運行的系統(tǒng)中恢復(fù)系統(tǒng),而不需要用boot-cd來專門引導(dǎo)。當(dāng)然,如果你的系統(tǒng)已經(jīng)掛掉不能啟動了,你可以用Live CD來啟動,效果是一樣的。你還可以用一個命令把Linux系統(tǒng)中的所有文件干掉,當(dāng)然在這里我不打算給出這個命令!
使用下面的命令來恢復(fù)系統(tǒng):
# tar xvpfz backup.tgz -C /
如果你的檔案文件是使用Bzip2壓縮的,應(yīng)該用:
# tar xvpfj backup.tar.bz2 -C /
注意:上面的命令會用檔案文件中的文件覆蓋分區(qū)上的所有文件。
執(zhí)行恢復(fù)命令之前請再確認(rèn)一下你所鍵入的命令是不是你想要的,執(zhí)行恢復(fù)命令可能需要一段不短的時間。
恢復(fù)命令結(jié)束時,你的工作還沒完成,別忘了重新創(chuàng)建那些在備份時被排除在外的目錄:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
等等
當(dāng)你重啟電腦,你會發(fā)現(xiàn)一切東西恢復(fù)到你創(chuàng)建備份時的樣子了!
2.1. 恢復(fù)GRUB
就是這樣了!我希望這篇文章對你有用!
看過“ 怎么做Linux的系統(tǒng)備份 ”的人還看了: