tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/soft --exclude=/run/media --exclude=/data --exclude=/sys --exclude=backup.tgz /data/
1. 前言
在使用Ubuntu之前,相信很多人都有過使用Windows系統(tǒng)的經(jīng)歷铃彰。如果你備份過Windows系統(tǒng)扎狱,那么你一定記憶猶新:首先需要找到一個(gè)
備份工具(通常都是私有軟件)认臊,然后重啟電腦進(jìn)入備份工具提供的軟件環(huán)境幔嫂,在這里備份或者恢復(fù)Windows系統(tǒng)贡耽。Norton
Ghost是備份Windows系統(tǒng)時(shí)經(jīng)常使用的備份工具现使。
在備份Windows系統(tǒng)的時(shí)候你可能想過宗收,我能不能把整個(gè)C盤都放到一個(gè)ZIP文件里去呢挂疆。這在Windows下是不可能的改览,因?yàn)樵赪indows中有很多文件在它們運(yùn)行時(shí)是不允許拷貝或覆蓋的,因此你需要專門的備份工具對(duì)Windows系統(tǒng)進(jìn)行特殊處理囱嫩。
和備份Windows系統(tǒng)不同恃疯,如果你要備份Ubuntu系統(tǒng)(或者其它任何Linux系統(tǒng)),你不再需要像Ghost這類備份工具墨闲。事實(shí)
上今妄,Ghost這類備份工具對(duì)于Linux文件系統(tǒng)的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系統(tǒng)鸳碧,如果你用它來備份Ext3文件
系統(tǒng)盾鳞,你可能會(huì)丟失一些寶貴的數(shù)據(jù)。
備份系統(tǒng)
恢復(fù)系統(tǒng)
我該如何備份我的Ubuntu系統(tǒng)呢瞻离?很簡(jiǎn)單腾仅,就像你備份或壓縮其它東西一樣,使用TAR套利。和Windows不同推励,Linux不會(huì)限制root訪問任何東西,你可以把分區(qū)上的所有東西都扔到一個(gè)TAR文件里去肉迫!
首先成為root用戶:
sudosu
1
然后進(jìn)入文件系統(tǒng)的根目錄(當(dāng)然验辞,如果你不想備份整個(gè)文件系統(tǒng),你也可以進(jìn)入你想要備份的目錄喊衫,包括遠(yuǎn)程目錄或者移動(dòng)硬盤上的目錄):
cd/
1
下面是我用來備份系統(tǒng)的完整命令:
tarcvpzfbackup.tgz--exclude=/proc--exclude=/lost+found--exclude=/mnt--exclude=/sys--exclude=backup.tgz/
1
讓我們來簡(jiǎn)單看一下這個(gè)命令:
“tar”當(dāng)然就是我們備份系統(tǒng)所使用的程序了跌造。
“cvpfz”是tar的選項(xiàng),意思是“創(chuàng)建檔案文件”族购、“保持權(quán)限”(保留所有東西原來的權(quán)限)壳贪、“使用gzip來減小文件尺寸”。
“backup.gz”是我們將要得到的檔案文件的文件名寝杖。
“/”是我們要備份的目錄违施,在這里是整個(gè)文件系統(tǒng)。
在 檔案文件名“backup.gz”和要備份的目錄名“/”之間給出了備份時(shí)必須排除在外的目錄朝墩。有些目錄是無用的醉拓,例如“/proc”伟姐、“/lost+ found”、“/sys”亿卤。當(dāng)然愤兵,“backup.gz”這個(gè)檔案文件本身必須排除在外,否則你可能會(huì)得到一些超出常理的結(jié)果排吴。如果不把“/mnt”排 除在外秆乳,那么掛載在“/mnt”上的其它分區(qū)也會(huì)被備份。另外需要確認(rèn)一下“/media”上沒有掛載任何東西(例如光盤钻哩、移動(dòng)硬盤)屹堰,如果有掛載東西, 必須把“/media”也排除在外街氢。
有人可能會(huì)建議你把“/dev”目錄排除在外扯键,但是我認(rèn)為這樣做很不妥,具體原因這里就不討論了珊肃。
執(zhí)行備份命令之前請(qǐng)?jiān)俅_認(rèn)一下你所鍵入的命令是不是你想要的荣刑。執(zhí)行備份命令可能需要一段不短的時(shí)間。
備份完成后伦乔,在文件系統(tǒng)的根目錄將生成一個(gè)名為“backup.tgz”的文件厉亏,它的尺寸有可能非常大。現(xiàn)在你可以把它燒錄到DVD上或者放到你認(rèn)為安全的地方去烈和。
在備份命令結(jié)束時(shí)你可能會(huì)看到這樣一個(gè)提示:’tar: Error exit delayed from previous errors’爱只,多數(shù)情況下你可以忽略它。
你還可以用Bzip2來壓縮文件招刹,Bzip2比gzip的壓縮率高恬试,但是速度慢一些。如果壓縮率對(duì)你來說很重要疯暑,那么你應(yīng)該使用Bzip2忘渔,用“j”代替命令中的“z”,并且給檔案文件一個(gè)正確的擴(kuò)展名“bz2”缰儿。完整的命令如下:
tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /
1
在進(jìn)行恢復(fù)系統(tǒng)的操作時(shí)一定要小心!如果你不清楚自己在做什么散址,那么你有可能把重要的數(shù)據(jù)弄丟乖阵,請(qǐng)務(wù)必小心!
接著上面的例子预麸。切換到root用戶瞪浸,并把文件“backup.tgz”拷貝到分區(qū)的根目錄下。
在 Linux中有一件很美妙的事情吏祸,就是你可以在一個(gè)運(yùn)行的系統(tǒng)中恢復(fù)系統(tǒng)对蒲,而不需要用boot-cd來專門引導(dǎo)。當(dāng)然,如果你的系統(tǒng)已經(jīng)掛掉不能啟動(dòng)了蹈矮, 你可以用Live CD來啟動(dòng)砰逻,效果是一樣的。你還可以用一個(gè)命令把Linux系統(tǒng)中的所有文件干掉泛鸟,當(dāng)然在這里我不打算給出這個(gè)命令蝠咆!
使用下面的命令來恢復(fù)系統(tǒng):
tar xvpfz backup.tgz -C/
如果你的檔案文件是使用Bzip2壓縮的,應(yīng)該用:
tar xvpfj backup.tar.bz2 -C /
注意:上面的命令會(huì)用檔案文件中的文件覆蓋分區(qū)上的所有文件北滥。
執(zhí)行恢復(fù)命令之前請(qǐng)?jiān)俅_認(rèn)一下你所鍵入的命令是不是你想要的刚操,執(zhí)行恢復(fù)命令可能需要一段不短的時(shí)間。
恢復(fù)命令結(jié)束時(shí)再芋,你的工作還沒完成菊霜,別忘了重新創(chuàng)建那些在備份時(shí)被排除在外的目錄:
mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
當(dāng)你重啟電腦,你會(huì)發(fā)現(xiàn)一切東西恢復(fù)到你創(chuàng)建備份時(shí)的樣子了济赎!