|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1728588
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2004/8/17 6:53 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15771
|
- [分享]Unix系統基本的備份與回復工具—dump及restore
- Unix系統基本的備份與回復工具—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嘗試從讀取錯誤中救回。
|
|
冷日 (冷日) |
發表時間:2008/9/9 12:31 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15771
|
- [轉貼]Linux:用tar備份系統
- [轉貼]Linux:用tar備份系統
tar -zcvpf /home/full-backup.tar.gz / --exclude=/mnt/* --exclude=/proc/* --exclude=/sys/*
這個命令是把根目錄下的所有內容備份到full-bakup.tar.gz的備份文檔中
-z表示進行壓縮gzip格式 -c(建立一個備份文檔 -v顯示壓縮過程 -p保留文件的權限 --exclude指定不備份的文件夾
增量備份 1.首先創建完全備份:tar -czvf -g zeng aa.tar.gz /var
待/var中的數據變化後 2.再做增量備份: tar -czvf -g zeng aa.tar.gz.1 /var
差異備份 1. find /var -mtime -1 -print> filelist
產生要備份的檔案的列表-1表示是一天的時間 2.tar -czv -T filelist -f /backup.tar.gz
依據文件列表進行備份. -T選項可以指定包含要備份的檔案的列表
原文出處:北方網
|
|
|
冷日 (冷日) |
發表時間:2008/9/9 12:36 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15771
|
- [轉貼]Linux全系統的備份與還原(系統轉移)
- 摘自Ubuntu的WIKI
1.以最高權限執行
2.切換到根目錄
3.使用tar指令
tar -cvpzf /路徑至備份檔.tgz 備份目錄
tar -cvpzf /路徑至備份檔.tgz --exclude=排除目錄1 --exclude=排除目錄2 --exclude= /路徑至備份檔.tgz (產生的備份檔當然要排除) /備份目錄
例子:tar -cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found \
--exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
分析:tar -cvpzf /backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys / 就是中間加上排除的部分而己,記得產生的備份檔一定要排除 ,否則就沒完沒了了!
tar的參數 c - 新建一個備份文檔 v - 詳細模式, tar程式將在屏幕上實時輸出所有信息。 p - 保存許可,並應用到所有文件。 z - 採用‘gzip’壓縮備份文件,以減小備份文件體積。
應排除的目錄: /proc、/lost+found、/sys、/mnt、/media 另外額外分割區的東東也可以看看要不要加入
4.到新的機器還原
tar -xvpzf /backup.tgz -C /
mkdir /proc /lost+found /mnt /sys
看到這裡突然覺得,也可以利用這種方式來拷貝系統,否則替老師桌機 一台一台的灌Linux還是很累人的。 我的想法是將 (a)做好的樣版機, (b)依上述步驟1-3備份成檔案後燒到DVD上 (c)再配合LiveCD開機將要安裝的機器 (d)作好硬碟分割並格式化 (e)再將備份檔解到 /分割區內並建好排除的目錄 (f)再chroot 到新的分割區 (g)執行grub-install /dev/sda (或grub-install /dev/hda )將磁區資訊寫到MBR 這樣應該就大功告成了,真是天下系統一大copy。 這兩天得好好實作看看!
原文出處:彰化縣自由軟體工作日誌
|
|
|
|