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

怎么備份Linux系統(tǒng)

時(shí)間: 春健736 分享

怎么備份Linux系統(tǒng)

  在前面的一些文章中,我反復(fù)提到經(jīng)常會(huì)把Linux系統(tǒng)搞崩潰,所以備份系統(tǒng)就是一件不容忽視的事情。那么怎么備份Linux系統(tǒng)呢?小編為大家分享了怎么備份Linux系統(tǒng)的解決方法,下面大家跟著學(xué)習(xí)啦小編一起來(lái)了解一下吧。

  備份Linux系統(tǒng)教程

  設(shè)置備份策略

  設(shè)置備份策略和計(jì)劃可以增加進(jìn)行備份的可能性。備份開(kāi)始前,要確定備份哪些數(shù)據(jù)、備份的頻率和使用什么樣的介質(zhì)進(jìn)行備份。備份的時(shí)候,應(yīng)該進(jìn)行完全備份。

  備份通常安排在空閑時(shí)間進(jìn)行。在大多數(shù)系統(tǒng)中,由于此時(shí)用戶數(shù)量最少,所以打開(kāi)的文件也最少。由于備份要占用一些系統(tǒng)資源,運(yùn)行備份時(shí)用戶會(huì)發(fā)現(xiàn)系統(tǒng)反應(yīng)遲鈍。

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

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

  $dmeg | less

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

  如果運(yùn)行Linux服務(wù)器,就要制定一個(gè)備份計(jì)劃,但這并不意味著每天要對(duì)所有的東西都備份。系統(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)用戶主目錄。這包括他們的個(gè)人設(shè)置、已下載的文件和用戶不希望失去的其他信息。

  /root

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

  /opt

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

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

  1. /proc

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

  2. /dev

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

  備份策略:

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

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

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

  選擇備份介質(zhì)

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

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

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

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

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

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

  高端磁帶:選擇高端磁帶可能是相當(dāng)貴的。與Travan 或DAT相比,這種驅(qū)動(dòng)器有更大的容量和更高的速度。三種廣泛使用的驅(qū)動(dòng)器類型是: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)建的。它的使用超出了單純的備份,可用來(lái)把許多不同文件放到一起組成一個(gè)易于分開(kāi)的文件。tar是從 Tape ARchiver備份工具起步的。包含在Linux中的GNU tar工具簡(jiǎn)便易用,包含了一個(gè)用來(lái)壓縮的選項(xiàng),且支持不斷增加的備份。tar是一個(gè)命令行的工具,沒(méi)有圖形界面。使用Konsole或Kvt打開(kāi)一個(gè)終端窗口,接下來(lái)是一個(gè)簡(jiǎn)單的備份命令:

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

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

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

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

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

  對(duì)于一個(gè)磁帶驅(qū)動(dòng)器,使用設(shè)備名稱:

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

  如果有一個(gè)備份非常大,可以使用多卷選項(xiàng)。但是,這樣做就不能使用壓縮。當(dāng)?shù)谝粋€(gè)磁盤或磁帶填滿后,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è)置成基于時(shí)間的有規(guī)律地運(yùn)行。例如,每晚2點(diǎn)把/home目錄備份到SCSI磁帶驅(qū)動(dòng)器中,只要將下面語(yǔ)句添加到root的crontab中即可:

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

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

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

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

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

  $tar -xpf /dev/st0 -C /

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

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

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

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

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

  /etc

  /var

  /home

  /usr/local

  /opt

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

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

  用于備份的Cpio

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

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

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

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

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

  $cpio -i < /dev/st0

  你也可以對(duì)cpio的備份進(jìn)行計(jì)劃,用crontab工具設(shè)置成基于任何時(shí)間的有規(guī)律地運(yùn)行。例如,要在每晚2點(diǎn)把/ home目錄備份到SCSI磁帶驅(qū)動(dòng)器中,把下面的語(yǔ)句添加到root的crontab文件中即可:

  00 02 * * * ls /home | cpio -o > /dev/st0

看過(guò)“ 怎么備份Linux系統(tǒng) ”的人還看了:

1.linux系統(tǒng)怎么備份

2.Linux文件權(quán)限怎么備份和恢復(fù)

3.修改linux系統(tǒng)時(shí)間的方法

4.Linux如何對(duì)網(wǎng)站數(shù)據(jù)進(jìn)行自動(dòng)備份和刪除

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

692688