《Linux指令從初學到精通》第3章檔案管理,本章介紹了許多常用指令,如cp、ln、chmod、chown、diff、tar、mv等,因為這些都與檔案管理相關,在日常的使用中經常用到,是以本章是本書的重點章節。本節為大家介紹dump(檔案系統備份)。
AD:
3.19 dump(檔案系統備份)
(1)頻度等級:☆
(2)功能說明:
dump 為備份工具程式,可将目錄或整個檔案系統備份至指定的裝置,或備份成一個大檔案。
(3)文法:
-
dump[-cnu][-0123456789][-b <區塊大小>][-B
<區塊數目>][-d <密度>][-f <裝置名稱>][-h <層
- 級>][-s <錄音帶長度>][-T <日期>][目錄或檔案系統]
- dump [-wW]
(4)所屬包:
- dump # yum -y install dump
(5)使用技巧:
指定生成的備份檔案名或目标裝置檔案,可使用參數“-f”。
第一次備份檔案時,備份層級為0,以後使用增量備份,以縮短備份時間并節省空間。
(6)相關指令:
- restore //恢複
(7)參數:
dump主要參數如表3-21 所示。
表3-21 dump參數表
![]() |
(8)典型執行個體:
例1:使用dump指令備份指定目錄。
例如使用“-f”參數備份指定的“/etc”目錄,使用如下指令:
- dump-f etc.bak /etc/ #備份/etc/目錄下所有檔案
将輸出以下資訊:
-
- [email protected]:~$ dump -f etc.bak /etc/#備份/etc/目錄下所有檔案
- DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009 #備份輸出資訊
- DUMP: Label: none
- DUMP: Writing 10 Kilobyte records
- DUMP: mapping (Pass I) [regular files]
- DUMP: mapping (Pass II) [directories]
- DUMP: estimated 14472 blocks.
- DUMP: Volume 1 started with block 1 at: Sun Sep 20 14:47:36 2009
- DUMP: dumping (Pass III) [directories]
- DUMP: dumping (Pass IV) [regular files]
- DUMP: Closing etc.bak
- DUMP: Volume 1 completed at: Sun Sep 20 14:47:38 2009
- DUMP: Volume 1 14870 blocks (14.52MB)
- DUMP: Volume 1 took 0:00:02
- DUMP: Volume 1 transfer rate: 7435 kB/s
- DUMP: 14870 blocks (14.52MB) on 1 volume(s)
- DUMP: finished in 2 seconds, throughput 7435 kBytes/sec
- DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009
- DUMP: Date this dump completed: Sun Sep 20 14:47:38 2009
- DUMP: Average transfer rate: 7435 kB/s
-
DUMP: DUMP IS DONE
eg:
[[email protected] ~]# du -sh /etc
37M /etc
-
[[email protected] ~]# ll -h etc.bak
-rw-r--r--. 1 root root 44M Jul 1 05:22 etc.bak
使用file指令檢視檔案資訊,可得到如下結果:
- [email protected]:~$ file etc.bak #檢視備份檔案資訊
-
etc.bak: new-fs dump file (little endian), This
dump Sun Sep 20 14:47:35 2009, Previous
-
dump Thu Jan 1 08:00:00 1970, Volume 1, Level
zero, type: tape header, Label none, Filesystem
-
/ (dir etc), Device /dev/sda1, Host hdd-desktop,
Flags 3 #備份檔案的詳細資訊
例2:使用dump 指令備份整個根檔案系統。使用該指令可以将整個根檔案系統備份到指定的外設,使用的指令如下:
- dump -0f /dev/nst0 / #将整個根檔案系統備份到SCSI 裝置/dev/nst0
該指令将整個根檔案系統備份到外設“/dev/nst0”上。
-------------------------------------------------------------------------------------------------------------------------------------------
完整備份工具:dump,restore
dump:除了可以備份整個檔案系統外,還可以制定等級。 dump支援整個檔案系統或者單一目錄,但對于目錄的支援比較不足。 當待備份的資料為單一檔案系統時:可以使用完整的dump功能,包括利用0~9的數個level來備份等。 當待備份的資料隻是目錄,并非單一檔案系統時: 所有的備份資料都必須要在該目錄下面; 且僅能使用level 0,即僅支援完整備份而已; 不支援-u 參數,即無法建立/etc/dumpdates這個level備份的時間記錄檔案。 #dump [-Suvj] [-level] [-f 備份檔案] 待備份資料 #dump -W -S:僅列出後面的待備份的資料需要多少磁盤空間才能夠備份完畢 -u:将這次dump的時間記錄到 /etc/dumpdates檔案中 -v:将dump的檔案過程顯示出來 -j:加入bzip2的支援,将資料進行壓縮,預設bzip2壓縮等級為2 -level:壓縮等級,-0~-9十個等級 -f:有點類似tar,後面接産生的檔案,可接例如 /dev/st0裝置檔案名等 -W:列出在/etc/fstab裡面的具有dump設定的分區是否有備份過 例如: #df -h #dump -S /dev/sda1 #dump -0u -f /root/boot.dump /boot #ll /root/boot.dump /etc/dumpdates #cat /etc/dumpdates 檢視一下有沒有被 dump 過的檔案系統 #dump -W 用dump備份非檔案系統,即單一目錄的方法 -u,level 1~9都不适用 将 /etc 整個目錄通過dump進行備份,且含壓縮功能 #dump -0j -f /root/etc.dump.bz2 /etc restore:恢複dump備份 #restore -t [-f dumpfile] [-h] ==>用來檢視dump檔案 #restore -C [-f dumpfile] [-D 挂載點] ==>比較dump與實際檔案 #restore -i [-f dumpfile] ==>進入互動模式 #restore -r [-f dumpfile] ==>還原整個檔案系統 相關的各種模式,各種模式無法混用,例如不可寫 -tC。 -t:此模式用在檢視dump起來的備份檔案中含有什麼重要資料。類似tar -t 功能。 -C:此模式可以将dump内的資料拿出來跟實際的檔案系統作比較,最終會列出“在dump檔案内有記錄的, 且目前檔案系統不一樣”的檔案。 -i:進入互動模式,可以僅還原一部分檔案,用在dump目錄時的還原。 -r:将整個檔案系統還原的一種模式,用在還原針對檔案的dump備份。 -h:檢視完整備份資料中的inode與檔案系統label 等資訊。 -f:後面就接你要處理的那個dump檔案。 -D:與-C進行搭配,可以查出後面接的挂載點與dump内有不同的檔案。 例子: 1.用restore檢視dump後的備份資料内容 将boot.dump的檔案内容顯示出來看看 #restore -t -f /root/boot.dump 2.比較差異并且還原整個檔案系統 dump可以查詢檔案系統與備份檔案之間的差異,并且将分析到的差異資料進行備份。 #cd /boot #mv config-2.6.18-128.el5 config-2.6.18-128.e15-back #restore -C -f /root/boot.dump (通過備份的資料,找到與目前實際檔案系統有差異的資料) 由于dump是記錄整個檔案系統的,是以還原時你也應該要給予一個全新的檔案系統才行。 #fdisk /dev/sda .... #partprobe #mkfs -t ext3 /dev/sda8 #mount /dev/sda8 /mnt #cd /mnt #restore -r -f /root/boot.dump 僅還原部分檔案的restore互動模式 #cd /mnt #restore -i -f /root/etc.dump 此時進入了 互動模式 按help會有幫助 裡面可以用ls,cd,pwd等指令 >add passwd shadow group ==>加入解壓縮清單 >delete group ==>加錯了,将group删除 >ls passwd shadow *passwd 要被解壓縮的前面有 * *shadow >extract ==>開始進行解壓縮 >quit #ll -d etc #ll etc 引自:http://blog.chinaunix.net/uid-28216282-id-3366865.html