|   |  | 
        
          | 
			  
			    | 茫茫網海中的冷日 發生過的事,不可能遺忘,只是想不起來而已!
 |  
				|  | 恭喜您是本站第 1746575 
										位訪客!
					 登入  | 註冊 |  |  | 
      
      
        
                      | 
 
 
 
 
 
 | 
                      
	| 發表者 | 討論內容 |  
	| 冷日 (冷日)
 | 發表時間:2004/8/17 6:53 |  
	| 
	Webmaster   
		註冊日: 2008/2/19來自: 發表數: 15773 | 
	[分享]Unix系統基本的備份與回復工具—dump及restoreUnix系統基本的備份與回復工具—dump及restore 劉琍綾前言
 
 標準的 UNIX 系統皆有提供基本的備份工具, 這些工具在某種程
 度上可說是無趣的, 它們的功能並不特別花俏且有許多限制,有些
 至今仍有小錯誤(如, 某些  UNIX  版本終於將  dump  中”倒帶
 tape-rewinding ”的錯誤加以更正)。
 
 然而這些基本備份工具中, 仍有些功能尚未被商業備份廠家吸收
 採用,因此這些功能會長久存在且不用額外花錢購買。 它們在任何
 平台環境的運作方式大致相同,如有差異也只有少許的不一樣。 無
 論您是否剛接觸備份世界, 或是經驗豐富的系統管理者,都必須熟悉這些工具。
 
 Dump, cpio,tar與dd之運用時機
 
 不同備份工具之間有不同的差異與優缺點。 Dump 及 restore 通
 常是最好的選擇,其次是 cpio, 但它比 tar 來得不親和些; tar
 則比 dump 或 cpio 更容易使用且更具攜帶性。 如果希望使用 tar
 或 cpio 備份 raw devices 或執行遠端備份,那麼 dd 可以是您的另一項選擇。
 
 dump及restore工具
 
 如果您正在負責備份至少一個以上的 UNIX 伺服器, 但經濟上無
 法負擔商用備份產品, 也不信任免費的公共軟體來備份重要資料,
 那麼最好您的 UNIX 版本有提供 dump 及 restore 指令,它們在備
 份及回復整個系統上非常具有彈性與變化。 dump 及 restore 是相
 當複雜的指令, 附有一簡單的介面及數個基本選項,這些選項在大
 部份的 UNIX 系統是相同的。 有些 UNIX 版本改變了 dump 的名字
 或部份特性,但這些改變都是非常小的。dump 也出現在仿 UNIX 系
 統中,如:Linux 及 Network Appliance 系統。在未來您可能並不
 打算使用 dump 來備份資料, 但是您卻會有機會從某處的 dump 資
 料卷中讀取內容, 屆時,本文將帶給您相當的幫助。cpio備份工具
 
 如果沒有 dump 指令或者 dump 版本不符所需, 則 cpio 是您的
 下一個好選擇。cpio 比其它備份工具存在的時間久,且具有一些其
 它工具所缺乏的重要特性。 但首先需說明的是,有些功能 dump 有
 提供而 cpio 則無者,如下:
 
 ‧無需使用touch或find檔案,即可執行變動備份(incremental backup   );
 
 ‧備份完後不改變資料的atime及ctime;
 
 ‧以互動方式執行資料回復,如restore的選項-i。
 
 cpio 是一個非常有用的備份工具,它最大的不同處,是可以備份
 從標準輸入( stdin )而來的的檔案。 目前有些新版的 tar 支援
 從標準輸入來的檔案備份,但大部份尚未有此功能。
 
 為什麼cpio較不常被使用?
 
 如果 cpio 如此好用,為何 tar 卻比較風行?最可能的理由是同
 樣的功能,tar 比 cpio 較簡單易用(也較標準)。 例如:每個版
 本的 tar 都支援 tar cf device  及 tar xf device, 然而 cpio
 有時支援 I 及 O;有的版本則無。如果將 cpio 每種版本的選項累
 計,則有近 40 個選項, 甚至有些使用同一字母的參數,在不同版
 本的 Unix 有不同的意義。 但您只要使用在大部份平台皆標準的選
 項,那麼,cpio 幾乎與 tar 一般簡單好用。tar備份工具
 
 如果需要定期備份整個作業系統,dump 可能是最好的選擇。其次
 是 cpio, 因為它可與  find  搭配執行變動備份(  incremental
 backup )。如果您像大部份的人一般,只為了將資料做一次完整的
 備份,那麼就不需要定期或變動備份等功能。 例如,您可能希望快
 速地備份使用者 /home 目錄。您可能想要刪除使用者的一大群目錄
 與檔案, 但唯一可讓使用者接受的備份方式,是將其資料全部寫入
 磁帶或光碟內儲存並交給他。 因此您不在乎 atime,不需定期做變
 動備份, 只希望將一堆資料放到備份媒體上,而且也希望他人可以
 很容易地將資料從備份中取出, 在這種情況下,tar 會是個最佳選    擇。
 
 有一些功能是  cpio 有而大部份的 tar 則無的( GNU tar 沒有
 這些限制),例如:
 
 ‧可以備份來自stdin的檔案;
 
 ‧當備份完成時重新設定檔案的atime,儘管這會改變其ctime。
 
 雖然 tar 的歷史並不比 cpio 來得久,但它卻得到較大的接受度
 ,這也正是它的特點之一。幾乎每個人都知道如何讀 tar 檔,即使
 不會也很容易學。 有些程式如 WinZip, 甚至可以自動地解開一個
 tar  檔或壓縮過的  tar 檔以讀取其內容(  WinZip  卻無法開啟
 cpio 檔)。tar 也較 dump 或 cpio 在 Unix 平台間具可攜性。dd工具
 
 大部份的人不常使用 dd 來作備份, 它是一個相當低階的指令,
 可將資訊內涵的每個位元( bit )原封不動地從一個地方搬到另一
 個地方, 它不管也無需知道備份資料的結構。 因此不同於  dump,
 tar, 及 cpio, 它不可以拷貝一群檔案至儲存媒體, 只可以拷貝一
 個檔案或一檔案的部份或 partition 或部份 partition,甚至可以
 在資料修改中途將資料從標準輸入(  stdin  )拷貝至標準輸出(
 stdout )。即使 dd 可以拷貝單一檔案,但其對檔名或檔案內容是
 一無所知的, 它純粹只是從一個地方搬運檔案的位元內容至另一個地方而已。
 
 這種方式看似相當簡單, 相對地它也相當有彈性,可以在不考慮
 資料格式之下執行拷貝動作, 因此它可在兩個不同平台間作資料轉
 換。 例如:從 EBCDIC 到 ASCII,或 Oracle 允許資料以檔案系統
 下的檔案形式存在, 亦可以直接放在原始磁碟區塊上,然而備份程
 式無法預測資料庫管理師會以何種方式存放資料, 故採用富彈性的
 dd 作自動備份,甚至備份結果是混合此兩種資料形式也無妨,亦即
 有些在檔案系統中,有些則在原始磁碟上。 如此,資料管理師可依
 資料應用特性決定其存放形式,可見 dd 所提供的彈性助益甚大。其它備份工具
 
 尚有其它較不為人知或只出現在某些平台的備份工具, 其中較常使用的包括:
 
 ‧pax:pax是Portable Archive eXchange的縮寫,可產生一可攜式的備
 份,    此備份格式符合    IEEE    Std.1003.1-1988     的
 Archive/Interchange File Format。 pax 亦可讀寫一些其它的
 檔案格式如 tar 或 cpio。 正如 Unix 世界的許多現象般,pax
 也有一群擁護者認為它是備份工具中最好的選擇。
 
 ‧fbackup:fbackup只有HP-UX提供且屬於HP的System Administration
 Menu ( SAM )的工具之一,使用 fbackup 作的備份, 只
 能在另一個  HP-UX 主機上使用 frecover  讀取之。 僅管
 fbackup 比傳統的 tar 及 cpio 有較多的功能, 但它缺乏
 可攜性的缺點是非常使人詬病的。 即使您無法用 SAM 來操
 作 dump, cpio 或 tar,但這三個指令的可攜帶特性,絕對
 值得您花較多的心力去使用它們。
 
 使用dump備份資料
 
 對許多系統環境而言,dump 是一確保備份品質的好工具。為使用
 dump 及 restore 作定期系統備份,必須先了解下面事項:
 
 ‧如何使用dump備份檔案系統;
 
 ‧如何備份至儲存媒體上;
 
 ‧如何從一dump檔讀取其內的資料目錄;
 
 ‧如何處理dump檔並從dump檔中將資料回復。
 
 dump指令的語法
 
 先從dump的基本指令開始:
 
 # dump levelunbdsf blkg-factor density size device-namefile_system
 
 下面是執行此指令的例子:
 
 .對/home做一完整備份至本地磁帶機/dev/rmt/0cbn:
 
 # dump 0unbdsf 126 141000 11500 /dev/rmt/0cbn /home
 
 ‧對/home做一完整備份至光碟機/backup/home.dump:
 
 # dump 0unbdsf 126 141000 11500 /backup/home.dump /home
 
 ‧對/home做一完整備份至遠端主機hsm的磁帶機/dev/rmt/0cbn:
 
 # (r)dump 0unbdsf 126 141000 11500 hsm:/dev/rmt/0cbn /home
 
 上述的指令包含不需要參數的三個選項( 0,u, 及 n ),及需要
 參數的四個選項( b,d,s 及 f )。
 
 dump 指令的第一個參數是一串選項,然後每個選項對應的參數依
 照選項的順序依次放置於指令行,參見圖一。
 
 dump指令的選項
 
 在大部分的平台上,dump有七個主要的選項:
 
 0 -9:標示dump應執行的備份階層。
 
 b:標示dump應使用的區塊數目因子。
 
 u:告訴dump須更新dumpdates檔案。
 
 n:告訴dump,當完成dump動作時通知操作者及與其同一組(group)的   人。
 
 D 及 s:告訴dump備份的資料量多大,dump利用這些數字預估需要多少  ”磁帶”。
 
 f:告訴dump使用何種儲存設備。
 
 W, w:此選項幾乎很少用到,它告訴dump執行假備份以判斷有那些檔案
 系統必須備份。
 
 如果欲使用 dump 定期執行系統備份,那麼, 您應會用到上述大
 部份的選項。 這些選項有預設值,如無特別要求,可不用特別標明
 dump 選項及其參數,例如:預設的備份階層通常是 9。預設值的問
 題是它們會因不同的作業系統而不同, 甚至同一個作業系統也會因
 儲存媒體的不同而有差異。 最好的方式是在所有的 dump 備份都標
 明相同的選項,有助於資料回復的容易度。
 
 使用resotore工具回復資料
 
 您必須相當熟悉以不同的方式使用 restore 指令,從 dump 產生
 的備份中取得資料。
 
 含備份資料的儲存媒體可讀否?
 
 為確保你知道備份磁帶的格式與區塊數目大小, 先嘗試列出它的
 目錄。 下列指令可產生 dump 備份磁帶的目錄:  $ restore tbfy
 block_size device-name
 
 例如,從一個在 /dev/rmt/0cbn 磁帶設備上的 dump 磁帶(使用
 的區塊因子是 32 )讀取其目錄,指令如下:
 
 $ restore tbfy 32 /dev/rmt/0cbn
 
 restore指令的語法
 
 一旦可以讀取 dump 磁帶, 您必須決定要讀什麼資料及如何讀它
 ,以下討論 restore 一般常用的參數。
 
 基本上,有四件事情是你希望dump磁帶提供的:
 
 ‧讀取dump磁帶的目錄以確認內容是否需要;
 
 ‧回復整個檔案系統;
 
 ‧回復選定的檔案;
 
 ‧執行互動式的回復。
 
 一般restore指令語法如下:
 
 restore [trxi]vbsfy blocking-factor file-number device-name
 
 restore指令的選項
 
 restore 的行為如何,端視其後的參數型態決定回復的形式。 第
 一個參數指明 restore 的型式,只可以從四種可能的參數中挑選一    種:
 
 t:告訴restore顯示備份磁帶的目錄。
 
 r:指明備份磁帶的整卷內容回復到目前的工作目錄之下。
 
 x:只回復restore指令行末端所列的檔案。
 
 i:以互動方式回復資料。
 
 決定回復的行為
 
 下面的參數不是必須的,但會影響回復的行為:
 
 v:指定以明細(verbose)的方式輸出。
 
 s:在開始讀磁帶前需跳過一些磁帶上的檔案。
 
 b:指定正要讀取磁帶的區塊因子。
 
 f:標明正使用的備份設備之檔名。
 
 y:告訴restore嘗試從讀取錯誤中救回。
 |  
	|  |  
 討論串
 
 
                     |