申明:本文為“老毛”原創,如需轉載,請與作者聯系。否則将視為侵權行為,作者将追究其法律責任。
對于系統而言,我們可以有很多種辦法去備份(還原)系統或檔案,之是以要去做備份,就是為了在系統或檔案遭到損害時,能及時恢複,把損失減小到最小。當然,對于企業伺服器而言,備份的重要性是舉足輕重。咱們今天就詳細讨論一下
LINUX
中如何用
dump
和
restore
實作備份和還原。
一,
的原理,優點及限制
預設已經安裝在
RHEL5
中,如果你使用的
Linux
中沒有,可以自己去
中搜一下并下載下傳安裝。
使用
指令時,它會建立一份自上次備份操作以來進行修改過的檔案清單,然後把這些檔案打包成一個單獨的檔案。在做備份時,需要指定一個備份級别,它是
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
”,表示不是恢複整個檔案系統,而是單個檔案。