天天看點

LINUX 系統備份

系統備份是系統管理工作中十分重要的一個環切,本文詳細介紹了各種Linux系統的備份方法,相信對大家的日常管理工作有所幫助。

備份是一項重要的工作,但是很多人沒有去做。一旦由于使用不當造成資料丢失,備份就成了真正的救命者。本文将讨論設定備份的政策和如何選擇備份媒體,并介紹用于備份的tar,cpio,dump,dd工具。以及腳本的書寫應用。

設定備份政策

備份開始前,要确定備份哪些資料、備份的頻率和使用什麼樣的媒體進行備份。備份的時候,應該進行完全備份。

備份通常安排在空閑時間進行。在大多數系統中,由于此時使用者數量最少,是以打開的檔案也最少。由于備份要占用一些系統資源,運作備份時使用者會發現系統反應遲鈍。

如果Linux計算機隻有一個使用者,可以一個星期或一個月對整個系統備份一次。如果有關鍵性的檔案,就應該有計劃地把這些檔案拷貝到一個可移動的磁盤中。

使用者檔案:每天都要對/home目錄中的使用者檔案進行備份。

配置檔案:/etc和/var目錄中的配置檔案不需要頻繁備份,每個星期或每月備份一次即可,主要取決于配置更改的頻繁程度。

程式檔案:/usr和/opt目錄中的程式檔案很少發生變化,安裝後做一次備份即可。通常情況下,程式檔案可友善地從原始安裝盤中恢複。

選擇備份媒體

把備份存到哪裡有多種選擇。下面介紹一些可選擇的備份媒體:

軟碟:如果要把重要檔案快速備份,或者将其帶到家中,這時軟碟仍舊是一種可選的備份媒體。

CD光牒寫入器:随着CD光牒寫入器變得越來越可靠,價格也越來越低,CD光牒本身也非常便宜。選用此項的一個好處是CD光牒不容易被損壞,它備份的可靠性很高。使用CD光牒寫入器有兩點不利因素:它們速度較慢,并且隻能儲存大約650MB。

可重寫的CD光牒:可重寫CD光牒驅動器比CD光牒寫入器要貴得多,工作方式與其類似。但是,這些CD光牒是可被重寫的,并且它比隻能寫一次的CD光牒貴許多。可重寫CD光牒其它的特性都與CD光牒寫入器類似。

Jaz和Zip:Zip驅動器很流行,已經成為許多PC機的标準配置,同時它的磁盤和驅動器也都不貴。它一張磁盤可容納100MB的資料,是一種用于快速、可移動備份的很好選擇。Jaz磁盤可以容納上G位元組的資料,并且使用更先進的技術以獲得更好的表現。Jaz驅動器和Jaz磁盤都比較貴。Jaz和Zip的缺陷是都容易損壞,并且保持時間相對要短。

錄音帶機:錄音帶備份裝置是大多數Linux伺服器的标準配置。錄音帶是可靠的,并且很少出現錯誤,它幾乎比其它媒體存儲時間都要長。對于點對點工作組網絡和中型網絡,Travan和高端數字音頻錄音帶(DAT)通常是最好的選擇。Travan驅動器經過壓縮可以處理8GB資料,這對于具有5-10個PC機的小型網絡來說足夠了。DAT驅動器有更好的表現,可以處理24GB的資料。DAT驅動器比Travan驅動器昂貴,但它錄音帶的價格要比Travan QIC錄音帶卷便宜。

高端錄音帶:選擇高端錄音帶可能是相當貴的。與Travan或DAT相比,這種驅動器有更大的容量和更高的速度。三種廣泛使用的驅動器類型是:Sony Advanced Intelliget Tape ( AIT ) 、Quantum Digital Linear Ta p e ( DLT )和Exabyte Mammoth 8mm。它們最少可以容納20GB的不壓縮資料,并且具有更高的資料傳輸能力。

備份方法:

備份指令: $tar cvf - /home > /temp/backup.tar

這個指令在/tmp目錄中建立一個backup.tar的檔案,/home目錄中所有内容都包含在其中。接下來可以把tar檔案拷貝到備份磁盤中。使用簡單備份時,如果要使用壓縮功能,改為下面指令: $tar czvf - /home > /tmp/backup.tgz

上面擴充名. tgz指出這是一個壓縮檔案。下一個例子可以用來直接備份到一個安裝好的Jaz驅動器中,但這樣做要确定有足夠的空間:

$tar czvf /mnt/jaz/backup.tgz - /home

對于一個錄音帶驅動器,使用裝置名稱: $tar czvf /dev/st0/backup.tgz - /home

如果有一個備份非常大,可以使用多卷選項。但是,這樣做就不能使用壓縮。當第一個磁盤或錄音帶填滿後,tar将提示插入另一張: $tar cvMf /dev/st0/5mar2000.tar -home

要恢複備份使用下面的指令,以Jaz磁盤為例: $tar xzvf /mnt/jaz/5mar2000.tgz /home

表1備份工具tar可以用crontab工具設定成基于時間的有規律地運作。例如,每晚2點把/home目錄備份到SCSI錄音帶驅動器中,隻要将下面語句添加到root的crontab中即可: 00 02 * * * tar cvf /dev/st0/homefiles.tar - /home

GNU cpio工具像tar一樣從指令提示行啟動程式。與tar相比cpio更複雜,但是也更為可靠。因為如果一個tar檔案中某處有一個壞塊,就不能對備份檔案的其它部分進行通路,而使用cpio,隻有壞塊不能被通路。cpio建立一個稱為copy-out mode的備份,備份存檔中包含了檔案和所有者、時間及通路許可等資訊。cpio需要一個假定要備份的檔案清單。建立清單的一個最友善的方法就是使用ls指令。例如,要把/home目錄備份到SCSI錄音帶裝置中,輸入下面的指令: $ls /home   cpio -o > /dev/st0

也可以使用find指令。它包括許多選項可以用來消減被存檔檔案的數量。例如,下面的指令對所有在上一個2 4小時内修改過的檔案進行存檔: $find /home -mtime 1 -type f -print   cpio -o > /dev/st0

copy - in模式把檔案從備份存檔中解出來。下面的指令會恢複前兩個備份例子中的所有檔案: $cpio -i < /dev/st0

你也可以對cpio的備份進行計劃,用crontab工具設定成基于任何時間的有規律地運作。例如,要在每晚2點把/ home目錄備份到SCSI錄音帶驅動器中,把下面的語句添加到root的crontab檔案中即可: 00 02 * * * ls /home   cpio -o > /dev/st0

備份:

find /home/odm/Soft/Qt5.2.0   -print | cpio -covB > /tmp/st0

還原:

cpio -icduv < /tmp/st0

三 用于備份的dump