linux-tar備份


1. 備份系統

首先成為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”的文件

在備份命令結束時你可能會看到這樣一個提示:’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”拷貝到分區的根目錄下。

 

使用下面的命令來恢復系統:

# tar xvpfz backup.tgz -C /

 

如果你的檔案文件是使用Bzip2壓縮的,應該用:

# tar xvpfj backup.tar.bz2 -C /

 

重新創建那些在備份時被排除在外的目錄:

# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys

restorecon -Rv / # 這條指令必須執行,否則重啟無法進入系統 

重啟系統 reboot

 

備份指定文件夾

tar  -xvzf  /abc/bcd/mm_20141223.tar.gz      /aaa/bbb/ccc.txt        將文件/aaa/bbb/ccc.txt 壓縮到另一個路徑/abc/bcd/下,並以mm_20141223.tar.gz名字命名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM