天天看點

利用dump和restore實作Linux的備份和還原

申明:本文為“老毛”原創,如需轉載,請與作者聯系。否則将視為侵權行為,作者将追究其法律責任。

對于系統而言,我們可以有很多種辦法去備份(還原)系統或檔案,之是以要去做備份,就是為了在系統或檔案遭到損害時,能及時恢複,把損失減小到最小。當然,對于企業伺服器而言,備份的重要性是舉足輕重。咱們今天就詳細讨論一下

LINUX

中如何用

dump

restore

實作備份和還原。

一,

的原理,優點及限制

預設已經安裝在

RHEL5

中,如果你使用的

Linux

中沒有,可以自己去

google

中搜一下并下載下傳安裝。

使用

指令時,它會建立一份自上次備份操作以來進行修改過的檔案清單,然後把這些檔案打包成一個單獨的檔案。在做備份時,需要指定一個備份級别,它是

0-9

之間的一個整數。級别為

N

的轉儲會對從上次進行的級别小于

的轉儲操作以來修改過的所有檔案進行備份,而級别

就是完全備份。通過這種方式,可以很輕松的實作增量備份,差異備份,甚至每日備份。例如,第一次備份時可選擇級别

(具體操作看後面),以後每天做增量備份時就可以每天依次使用級别

1

,級别

2

3

等等

… …

;當需要每天做差異備份時,可先選擇級别

做完整備份,然後每天都使用同一大于

的級别就行了,比如說第二天用

5

,第三天也用

,第四天也一樣。

的優點:

,備份可以跨多卷錄音帶

,能備份任何類型的檔案,甚至是裝置

,備份時,檔案的權限,宿主,宿組,修改時間等都會被儲存

4

,能夠正确處理從未包含任何資料的檔案塊(孔洞檔案)

,能夠做增量,差異備份

它也有不足:

,每個檔案系統必須單獨轉儲備份

,隻有本地計算機的檔案系統才能夠轉儲備份(

rdump

rrestore

可用來彌補此項不足)

當然,使用

tar

也可以用來實作備份和還原,但

隻能在

Unix

環境下使用,對于跨平台的環境,

使用起來個人感覺更友善一些。

如果有條件,

也可以将備份存儲在錄音帶上。

通常用

/dev/st0

代表倒帶裝置,而用

/dev/nst0

代表非倒帶裝置,使用倒帶裝置存儲時,當錄音帶用完它會自動倒帶并接着存儲,是以會覆寫以前的資料,這樣就存在以前資料丢失的風險。這個地方咱們就不詳細讨論了。

二,

的格式,常用參數及使用

格式:

dump [-level#] [-acmMnqSuv] [-A file] [-B records] [-b blocksize]

[-d density] [-D file] [-e inode#,inode#,...] [-E file]

[-f file] [-h level] [-I nr errors] [-j zlevel] [-Q file]

[-s feet] [-T date] [-y] [-z zlevel] filesystem

常用參數

Level

:備份級别

-B:

指定用來備份的錄音帶的長度,以

KB

為機關(有些錄音帶不支援以結束标志判斷時,就需要使用到此參數

-b

:指定塊大小,預設為

10

-d

:指定密度,預設為

1600BPI

-D:

設定存儲資料庫的名稱和路徑,預設是

/etc/dumpdates

檔案

-e

-E

:與備份檔案的

inodes

數有關的參數)

-f

:指定備份檔案的路徑和名稱

-u

:更新資料庫檔案

/etc/dumpdates 

-s

:統計備份所需的空間,一般在備份前做,以防錄音帶或磁盤空間不足

舉例:

dump  

–0s /dev/sda1

完整備份

/dev/sda1

前統計一下需多大容量

dump -0u –f /tmp/boot.dump /boot

以完全備份的方式備份

/boot

分區到檔案

/tmp/boot.dump,

并且更新

資料庫檔案。“

”代表的就是備份級别為完全備份。“

u”

更新資料庫,會将檔案的日期,存儲級别,檔案系統等資訊都記錄下來。如果從來都不使用

參數,那麼所有的存儲都會變為級别

。因為,系統不會有先前備份過目前檔案系統的記錄。

當以後更改了

/boot,

比如說核心更新後,如果再想備份,可以按下列方式:

dump -1u –f /tmp/boot1.dump /boot

這樣就隻會備份完全備份後有變化的檔案(級别

大于

)。

如果以後想做增量備份,就依次用級别

4… …

如果想做差異備份,以後就一直用級别

關于增量備份和差異備份的差別看看下圖吧,不詳細講了:

三,檢視備份文檔中的檔案及還原

檢視備份文檔中的檔案和還原就需要用到另外一個工具,

1,

檢視備份文檔中的檔案

-t

參數是檢視的意思,

是指定要檢視的備份檔案。通過以上指令,就可以檢視備份檔案中備份了哪些檔案。

還原備份

還原備份的時候有兩種方式可以選擇,一種是完全還原,一種是有選擇的部分還原。

咱們還是用前面的例子來看,如果你前面備份的

分區檔案損壞了,這時候你想還原,可以按如下步驟:

-r

參數表示重建

如果隻是一部分資料丢失了,那麼可以使用參數

-i

通過互動方式來實作檔案的選擇性還原

這個地方我故意删掉了一個檔案

initrd-2.6.18-53.el5.img

使用參數

互動式,并指定備份檔案。

通過?來檢視可以使用的指令,

ls

是列出備份檔案的内容

通過

add

來選擇要恢複的檔案,標明後再

的時候會标記為

*

extract

還原標明的檔案。

提示“

Specify next volume”

時填如

,它表示是在單獨一卷錄音帶(這裡我用的是磁盤的空間)上進行的備份。下面一行提示選“

n

”,表示不是恢複整個檔案系統,而是單個檔案。