學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > linux文件系統(tǒng)備份

linux文件系統(tǒng)備份

時間: 春健736 分享

linux文件系統(tǒng)備份

  系統(tǒng)備份是系統(tǒng)管理工作中十分重要的一個環(huán)切,備份是一項(xiàng)重要的工作,但是很多人沒有去做。那么如何備份linux系統(tǒng)呢?下面跟著學(xué)習(xí)啦小編一起來了解一下吧。

  如何備份linux系統(tǒng)

  如果Linux計算機(jī)只有一個使用者,可以一個星期或一個月對整個系統(tǒng)備份一次。如果有關(guān)鍵性的文件,就應(yīng)該有計劃地把這些文件拷貝到一個可移動的磁盤中。

  備份之前,首先要確保正確地設(shè)置備份設(shè)備。大多數(shù)磁帶備份系統(tǒng)在安裝時可以發(fā)現(xiàn)是否正確。系統(tǒng)啟動后,打開一個終端窗口并且輸入下面的命令:

  $dmeg | less

  滾動列表,并從中尋找你的磁帶系統(tǒng)的驅(qū)動。如果沒有發(fā)現(xiàn),就需要加載一個組件驅(qū)動程序。

  如果運(yùn)行Linux服務(wù)器,就要制定一個備份計劃,但這并不意味著每天要對所有的東西都備份。系統(tǒng)中只有一部分東西需要每天備份,下面先介紹下目錄結(jié)構(gòu)及備份策略:

  目錄結(jié)構(gòu):

  /etc

  包含所有核心配置文件。這其中包括網(wǎng)絡(luò)配置、系統(tǒng)名稱、防火墻規(guī)則、用戶、組,以及其他全局系統(tǒng)項(xiàng)。

  /var

  包含系統(tǒng)守護(hù)進(jìn)程(服務(wù))所使用的信息,包括 DNS 配置、DHCP 租期、郵件緩沖文件、HTTP 服務(wù)器文件、db2 實(shí)例配置,等等。

  /home

  包含所有用戶的默認(rèn)用戶主目錄。這包括他們的個人設(shè)置、已下載的文件和用戶不希望失去的其他信息。

  /root

  是根(root)用戶的主目錄。

  /opt

  是安裝許多非系統(tǒng)文件的地方。IBM 軟件就安裝在這里。OpenOffice、JDK 和其他軟件在默認(rèn)情況下也安裝在這里。

  有些目錄是應(yīng)該考慮不 備份的。

  1. /proc

  應(yīng)該永遠(yuǎn)不要備份這個目錄。它不是一個真實(shí)的文件系統(tǒng),而是運(yùn)行內(nèi)核和環(huán)境的虛擬化視圖。它包括諸如 /proc/kcore 這樣的文件,這個文件是整個運(yùn)行內(nèi)存的虛擬視圖。備份這些文件只是在浪費(fèi)資源。

  2. /dev

  包含硬件設(shè)備的文件表示。如果計劃還原到一個空白的系統(tǒng),那就可以備份 /dev。然而,如果計劃還原到一個已安裝的 Linux 系統(tǒng),那么備份 /dev 是沒有必要的。

  備份策略:

  用戶文件:每天都要對/home目錄中的用戶文件進(jìn)行備份。

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

  程序文件:/usr和/opt目錄中的程序文件很少發(fā)生變化,安裝后做一次備份即可。通常情況下,程序文件可方便地從原始安裝盤中恢復(fù)。

  選擇備份介質(zhì)

  把備份存到哪里有多種選擇。下面介紹一些可選擇的備份介質(zhì):

  軟盤:如果要把重要文件快速備份,或者將其帶到家中,這時軟盤仍舊是一種可選的備份介質(zhì)。

  光盤寫入器:隨著光盤寫入器變得越來越可靠,價格也越來越低,光盤本身也非常便宜。選用此項(xiàng)的一個好處是光盤不容易被損壞,它備份的可靠性很高。使用光盤寫入器有兩點(diǎn)不利因素:它們速度較慢,并且只能保存大約650MB。

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

  Jaz 和Zip:Zip驅(qū)動器很流行,已經(jīng)成為許多PC機(jī)的標(biāo)準(zhǔn)配置,同時它的磁盤和驅(qū)動器也都不貴。它一張磁盤可容納100MB的數(shù)據(jù),是一種用于快速、可移動備份的很好選擇。Jaz磁盤可以容納上G字節(jié)的數(shù)據(jù),并且使用更先進(jìn)的技術(shù)以獲得更好的表現(xiàn)。Jaz驅(qū)動器和Jaz磁盤都比較貴。Jaz和Zip的缺陷是都容易損壞,并且保持時間相對要短。

  磁帶機(jī):磁帶備份設(shè)備是大多數(shù)Linux服務(wù)器的標(biāo)準(zhǔn)配置。磁帶是可靠的,并且很少出現(xiàn)錯誤,它幾乎比其它介質(zhì)存儲時間都要長。對于點(diǎn)對點(diǎn)工作組網(wǎng)絡(luò)和中型網(wǎng)絡(luò),Travan和高端數(shù)字音頻磁帶(DAT)通常是最好的選擇。Travan驅(qū)動器經(jīng)過壓縮可以處理8GB數(shù)據(jù),這對于具有5-10個PC機(jī)的小型網(wǎng)絡(luò)來說足夠了。DAT驅(qū)動器有更好的表現(xiàn),可以處理24GB的數(shù)據(jù)。DAT驅(qū)動器比 Travan驅(qū)動器昂貴,但它磁帶的價格要比Travan QIC磁帶卷便宜。

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

  用于備份的Tar

  備份工具Tar是以前備份文件的可靠方法,幾乎可以工作于任何環(huán)境中,Linux老用戶一般都信賴它。 Linux中以。tar結(jié)尾的文件都是用tar創(chuàng)建的。它的使用超出了單純的備份,可用來把許多不同文件放到一起組成一個易于分開的文件。tar是從 Tape ARchiver備份工具起步的。包含在Linux中的GNU tar工具簡便易用,包含了一個用來壓縮的選項(xiàng),且支持不斷增加的備份。tar是一個命令行的工具,沒有圖形界面。使用Konsole或Kvt打開一個終端窗口,接下來是一個簡單的備份命令:

  $tar cvf - /home > /temp/backup.tar

  這個命令在/tmp目錄中創(chuàng)建一個backup.tar的文件,/home目錄中所有內(nèi)容都包含在其中。接下來可以把tar文件拷貝到備份磁盤中。使用簡單備份時,如果要使用壓縮功能,改為下面命令:

  $tar czvf - /home > /tmp/backup.tgz

  上面擴(kuò)展名。 tgz指出這是一個壓縮文件。下一個例子可以用來直接備份到一個安裝好的Jaz驅(qū)動器中,但這樣做要確定有足夠的空間:

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

  對于一個磁帶驅(qū)動器,使用設(shè)備名稱:

  $tar czvf /dev/st0/backup.tgz - /home

  如果有一個備份非常大,可以使用多卷選項(xiàng)。但是,這樣做就不能使用壓縮。當(dāng)?shù)谝粋€磁盤或磁帶填滿后,tar將提示插入另一張:

  $tar cvMf /dev/st0/5mar2000.tar -home

  要恢復(fù)備份使用下面的命令,以Jaz磁盤為例:

  $tar xzvf /mnt/jaz/5mar2000.tgz /home

  表1列出了tar主要功能參數(shù)。此外還有很多可選參數(shù),本文不再詳述。

  表1

  備份工具tar可以用crontab工具設(shè)置成基于時間的有規(guī)律地運(yùn)行。例如,每晚2點(diǎn)把/home目錄備份到SCSI磁帶驅(qū)動器中,只要將下面語句添加到root的crontab中即可:

  00 02 * * * tar cvf /dev/st0/homefiles.tar - /home

  要使用 tar 來把除 /proc 目錄之外的整個文件系統(tǒng)備份到 SCSI 磁帶設(shè)備:

  $tar -cpf /dev/st0 / --exclude=/proc

  在上面的例子中,-c 開關(guān)表示歸檔文件正在被創(chuàng)建。-p 開關(guān)表示我們希望保留文件許可權(quán)限,這對良好的備份來說是很關(guān)鍵的。-f 開關(guān)指向該歸檔文件的文件名。在本例中,我們使用的是原始磁帶設(shè)備 /dev/st0。/ 表示我們想要備份的內(nèi)容。既然我們想要備份整個系統(tǒng),因此把這個開關(guān)指定為根(root)。當(dāng)把 tar 指向一個目錄(以 / 結(jié)尾)時,它會自動遞歸。最后,我們排除了 /proc 目錄,因?yàn)樗鼪]有包含需要保存的任何內(nèi)容。如果單盒磁帶容納不下這個備份,我們需要添加 -M 開關(guān)(本例中沒有顯示)以進(jìn)行多卷備份。

  要還原一個或多個文件,可以使用帶提取開關(guān)(-x)的 tar 命令:

  $tar -xpf /dev/st0 -C /

  -C / 表明我們想要讓還原從 / 開始。-C 開關(guān)使我們的當(dāng)前目錄不再相關(guān)。

  您可能會經(jīng)常使用的另外兩個 tar 命令是 -t 和 -d 開關(guān)。-t 開關(guān)列出某個歸檔文件的內(nèi)容。-d 開關(guān)將歸檔文件的內(nèi)容與系統(tǒng)上的當(dāng)前文件作比較。

  為便于操作和編輯,您可以將想要?dú)w檔的文件和目錄放進(jìn)一個文本文件中,然后在命令行通過 -T 開關(guān)引用這個文本文件。這些文件和目錄可以與命令行上列出的其他目錄結(jié)合起來。下面的命令行備份 MyFiles 中列出的所有文件和目錄、/ 根目錄和 /tmp 目錄中的所有 iso 文件。

  $tar -cpf /dev/st0 -T MyFiles /root /tmp/*.iso

  文件列表只是一個文本文件,其中列出文件或目錄。下面是一個例子:

  /etc

  /var

  /home

  /usr/local

  /opt

  請注意 tar -T(或 files-from)命令不能接受通配符。文件必須明確地列出。上面的例子展示了一種單獨(dú)地引用文件的方法。您還可以執(zhí)行腳本來搜索系統(tǒng),然后建立一個列表。下面就是這樣一個腳本的例子:

  #!/bin/sh

  cat MyFiles > TempList

  find /usr/share -iname *.png 》 TempList

  find /tmp -iname *.iso 》 TempList

  tar -cpzMf /dev/st0 -T TempList

  上面的腳本首先將 MyFiles 中的所有現(xiàn)有文件列表復(fù)制到 TempList。然后它執(zhí)行兩個 find 命令來搜索文件系統(tǒng)中匹配某個模式的文件,并將它們附加到 TempList。第一次是搜索 /usr/share 目錄樹中以 .png 結(jié)尾的所有文件。第二次是搜索 /tmp 目錄樹中以 .iso 結(jié)尾的所有文件。在建立好列表之后,tar 然后在文件設(shè)備 /dev/st0 (第一個 SCSI 磁帶設(shè)備)上創(chuàng)建 一個新的歸檔文件,該文件使用 gzip 格式來壓縮,并保留所有文件權(quán)限。該歸檔文件將跨越多個卷。要?dú)w檔的文件的名稱將從 TempList 文件中提取。

  用于備份的Cpio

  GNU cpio工具像tar一樣從命令提示行啟動程序。與tar相比cpio更復(fù)雜,但是也更為可靠。因?yàn)槿绻粋€tar文件中某處有一個壞塊,就不能對備份文件的其它部分進(jìn)行訪問,而使用cpio,只有壞塊不能被訪問。cpio創(chuàng)建一個稱為copy-out mode的備份,備份存檔中包含了文件和所有者、時間及訪問許可等信息。cpio需要一個假定要備份的文件列表。創(chuàng)建列表的一個最方便的方法就是使用ls 命令。例如,要把/home目錄備份到SCSI磁帶設(shè)備中,輸入下面的命令:

  $ls /home | cpio -o > /dev/st0

  也可以使用find命令。它包括許多選項(xiàng)可以用來消減被存檔文件的數(shù)量。例如,下面的命令對所有在上一個2 4小時內(nèi)修改過的文件進(jìn)行存檔:

  $find /home -mtime 1 -type f -print | cpio -o > /dev/st0

  copy - in模式把文件從備份存檔中解出來。下面的命令會恢復(fù)前兩個備份例子中的所有文件:

  $cpio -i < /dev/st0
看過“linux 文件系統(tǒng)備份 ”的人還看了:

1.unix系統(tǒng)備份

2.老舊電腦怎么安裝開源的Linux系統(tǒng)

3.recovery如何備份系統(tǒng)

4.Linux系統(tǒng)常用命令合集

5.如何開始學(xué)linux

645009