Linux備份

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

定義

用戶經常需要備份計算機系統中的數據,為了節省存儲空間,常常將備份檔案進行壓縮。下面分別介紹備份與壓縮的命令。

特徵

tar命令

tar可以為檔案和目錄創建檔案。利用tar,用戶可以為某一特定檔案創建檔案(備份檔案),也可以在檔案中改變檔案,或者向檔案中加入新的檔案。tar最初被用來在磁帶上創建檔案,用戶可以在任何設備上創建檔案,如軟碟。利用tar命令,可以把一大堆的檔案和目錄全部打包成一個檔案,這對於備份檔案或將幾個檔案組合成為一個檔案以便於網路傳輸是非常有用的。Linux上的tar是GNU版本的。

語法:tar [主選項+輔選項] 檔案或者目錄

使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。

使用說明

主選項:

c 創建新的檔案檔案。如果用戶想備份一個目錄或是一些檔案,就要選擇這個選項。

r 把要存檔的檔案追加到檔案檔案的末尾。例如用戶已經作好備份檔案,又發現還有一個目錄或是一些檔案忘記備份了,這時可以使用該選項,將忘記的目錄或檔案追加到備份檔案中。

t 列出檔案檔案的內容,查看已經備份了哪些檔案。

u 更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後。

x 從檔案檔案中釋放檔案。

輔助選項:

b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。

f 使用檔案檔案或設備,這個選項通常是必選的。

k 保存已經存在的檔案。例如我們把某個檔案還原,在還原的過程中,遇到相同的檔案,不會進行覆蓋。

m 在還原檔案時,把所有檔案的修改時間設定為當前。

M 創建多卷的檔案檔案,以便在幾個磁碟中存放。

v 詳細報告tar處理的檔案信息。如無此選項,tar不報告檔案信息。

w 每一步都要求確認。

z 用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時也一定要使用該選項進行解壓縮。

例1:把/home目錄下包括它的子目錄全部做備份檔案,備份檔案名稱為usr.tar。

$ tar cvf usr.tar /home

例2:把/home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔案名稱為usr.tar.gz 。

$ tar czvf usr.tar.gz /home

例3:把usr.tar.gz這個備份檔案還原並解壓縮。

$ tar xzvf usr.tar.gz

例4:查看usr.tar備份檔案的內容,並以分屏方式顯示在顯示器上。

$ tar tvf usr.tar | more

要將檔案備份到一個特定的設備,只需把設備名作為備份檔案名稱。

例5:用戶在/dev/fd0設備的軟碟中創建一個備份檔案,並將/home 目錄中所有的檔案都拷貝到備份檔案中。

$ tar cf /dev/fd0 /home

要恢復設備磁碟中的檔案,可使用xf選項:

$ tar xf /dev/fd0

如果用戶備份的檔案大小超過設備可用的存貯空間,如軟碟,您可以創建一個多卷的tar備份檔案。M選項指示tar命令提示您使用一個新的存貯設備,當使用M選項向一個軟碟機進行存檔時,tar命令在一張軟碟已滿的時候會提醒您再放入一張新的軟碟。這樣您就可以把tar檔案存入幾張磁碟中。

$ tar cMf /dev/fd0 /home

要恢復幾張盤中的檔案,只要將第一張放入軟碟機,然後輸入有x和M選項的tar命令。在必要時您會被提醒放入另外一張軟碟。

$ tar xMf /dev/fd0

gzip命令

減少檔案大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網路傳輸檔案時,可以減少傳輸的時間。gzip是在Linux系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用。

語法:gzip [選項] 壓縮(解壓縮)的檔案名稱

各選項的含義:

-c 將輸出寫到標準輸出上,並保留原有檔案。

-d 將壓縮檔案解壓。

-l 對每個壓縮檔案,顯示下列欄位:

壓縮檔案的大小

未壓縮檔案的大小

壓縮比

未壓縮檔案的名字

-r 遞歸式地查找指定目錄並壓縮其中的所有檔案或者是解壓縮。

-t 測試,檢查壓縮檔案是否完整。

-v 對每一個壓縮和解壓的檔案,顯示檔案名稱和壓縮比。

-num 用指定的數字num調整壓縮的速度,-1或--fast表示最快壓縮方法(低壓縮比),-9或--best表示最慢壓縮方法(高壓縮比)。系統預設值為6。

假設一個目錄/home下有檔案mm.txt、sort.txt、xx.com。

例1:把/home目錄下的每個檔案壓縮成.gz檔案。

$ cd /home

$ gzip *

$ ls

m.txt.gz sort.txt.gz xx.com.gz

例2:把例1中每個壓縮的檔案解壓,並列出詳細的信息。

$ gzip -dv *

mm.txt.gz 43.1%-----replaced with mm.txt

sort.txt.gz 43.1%-----replaced with sort.txt

xx.com.gz 43.1%-----replaced with xx.com

$ ls

mm.txt sort.txt xx.com

例3:詳細顯示例1中每個壓縮的檔案的信息,並不解壓。

$ gzip -l *

compressed uncompr. ratio uncompressed_name

277 445 43.1% mm.txt

278 445 43.1% sort.txt

277 445 43.1% xx.com

$ ls

mm.txt.gz sort.txt.gz xx.com.gz

例4:壓縮一個tar備份檔案,如usr.tar,此時壓縮檔案的擴展名為.tar.gz

$ gzip usr.tar

$ ls

usr.tar.gz

unzip命令

用MS Windows下的壓縮軟體winzip壓縮的檔案如何在Linux系統下展開呢?可以用unzip命令,該命令用於解擴展名為.zip的壓縮檔案。

語法:unzip [選項] 壓縮檔案名稱.zip

各選項的含義分別為:

-x 檔案列表 解壓縮檔案,但不包括指定的file檔案。

-v 查看壓縮檔案目錄,但不解壓。

-t 測試檔案有無損壞,但不解壓。

-d 目錄 把壓縮檔案解到指定目錄下。

-z 只顯示壓縮檔案的註解。

-n 不覆蓋已經存在的檔案。

-o 覆蓋已存在的檔案且不要求用戶確認。

-j 不重建文檔的目錄結構,把所有檔案解壓到同一目錄下。

例1:將壓縮檔案text.zip在當前目錄下解壓縮。

$ unzip text.zip

例2:將壓縮檔案text.zip在指定目錄/tmp下解壓縮,如果已有相同的檔案存在,要求unzip命令不覆蓋原先的檔案。

$ unzip -n text.zip -d /tmp

例3:查看壓縮檔案目錄,但不解壓。

$ unzip -v text.zip

zgrep命令

這個命令的功能是在壓縮檔案中尋找匹配的正則表達式,用法和grep命令一樣,只不過操作的對象是壓縮檔案。如果用戶想看看在某個壓縮檔案中有沒有某一句話,便可用zgrep命令。

linux直接用tar打包整個系統即可,不必使用額外的工具。如果想要壓縮,可以用gzip,代價是時間!其實不必備份全部的系統,只要將配置和數據備份即可!所有的庫和執行程式都可以日後再複製過來即可!或許你要進行全網段的複製系統,那么將配置單獨備份是一個很好的選擇!因為你也許有幾種不同的配置!

相關詞條

相關搜尋

熱門詞條

聯絡我們