歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux dump命令參數及用法詳解--Linux備份文件命令

Linux dump命令參數及用法詳解--Linux備份文件命令

日期:2017/2/28 15:49:43   编辑:Linux教程

linux dump 命令詳解

功能說明:備份文件系統。

語  法:dump [-cnu][-0123456789][-b <區塊大小>][-B <區塊數目>][-d <密度>][-f <設備名稱>][-h <層級>][-s <磁帶長度>][-T <日期>][目錄或文件系統] 或 dump [-wW]

補充說明:dump為備份工具程序,可將目錄或整個文件系統備份至指定的設備,或備份成一個大文件。
參  數:
 -0123456789  備份的層級。
 -b<區塊大小>  指定區塊的大小,單位為KB。
 -B<區塊數目>  指定備份卷冊的區塊數目。
 -c  修改備份磁帶預設的密度與容量。
 -d<密度>  設置磁帶的密度。單位為BPI。
 -f<設備名稱>  指定備份設備。
 -h<層級>  當備份層級等於或大雨指定的層級時,將不備份用戶標示為"nodump"的文件。
 -n  當備份工作需要管理員介入時,向所有"operator"群組中的使用者發出通知。
 -s<磁帶長度>  備份磁帶的長度,單位為英尺。
 -T<日期>  指定開始備份的時間與日期。
 -u  備份完畢後,在/etc/dumpdates中記錄備份的文件系統,層級,日期與時間等。
 -w  與-W類似,但僅顯示需要備份的文件。
 -W  顯示需要備份的文件及其最後一次備份的層級,時間與日期。
Linux學習筆記之備份命令dump/還原命令restore

dump 可以執行類似 tar 的功能。然而, dump 傾向於考慮文件系統而不是個別的文件。下面是引自 dump 手冊文件中的內容:“dump 檢查 ext2 文件系統上的文件,並確定哪些文件需要備份。這些文件將出於安全保護而被復制到給定的磁盤、磁帶或其他存儲媒體上……大於輸出媒體容量的轉儲將被劃分到多個卷。在大多數媒體上,容量是通過一直寫入直至返回一個 end-of-media 標記來確定的。”

配合 dump 的程序是 restore ,它用於從轉儲映像還原文件。

restore 命令執行轉儲的逆向功能。可以首先還原文件系統的完全備份,而後續的增量備份可以在已還原的完全備份之上覆蓋。可以從完全或部分備份中還原單獨的文件或者目錄樹。

dump 和 restore 都能在網絡上運行,因此您可以通過遠程設備進行備份或還原。 dump 和 restore 使用磁帶驅動器和提供廣泛選項的文件設備。然而,兩者都僅限用於 ext2 和 ext3 文件系統。如果使用的是 JFS、Reiser 或者其他文件系統,您將需要其他的實用工具,比如 tar 。

使用 dump 執行備份
使用 dump 執行備份是相當簡單的。下面的命令執行一個完全 Linux 備份,它把所有 ext2 和 ext3 文件系統備份到一個 SCSI 磁帶設備。


dump 0f /dev/nst0 /boot

dump 0f /dev/nst0 /

在這個例子中,系統中有兩個文件系統。一個用於 /boot,另一個用於 / ,這是常見的配置。它們必須在執行備份時單獨地引用。 /dev/nst0 引用第一個 SCSI 磁帶驅動器,不過是以非重繞的模式引用。這樣確保各個卷在磁帶上一個接一個地排列。

dump 的一個有趣特性是其內置的增量備份功能。在上面的例子中, 0 表示 0 級或基本級備份。這是完全系統備份,您要定期執行以保存整個系統。對於後續的備份,您可以使用其他數字(1-9)來代替 0,以改變備份級別。1 級備份會保存自從執行 0 級備份以來更改過的所有文件。2 級備份會保存自從執行 1 級備份以來更改過的所有文件,以此類推。使用 tar 和腳本可以執行相同的功能,但要求腳本創建人員提供一種機制來確定上次備份是何時執行的。 dump 具有它自己的機制,即它在執行備份時會輸出一個更新文件(/etc/dumpupdates)。這個更新文件將在每次執行 0 級備份時被重設。後續級別的備份會保留它們的標記,直至執行另一次 0 級備份。如果您在執行基於磁帶的備份, dump 會自動跟蹤多個卷。

跳過文件
標記將被 dump 跳過的文件和目錄是可以做到的。實現此目的的命令是 chattr ,它改變 ext2 和 ext3 文件系統上的擴展屬性。


chattr +d <filename>

上面的命令向文件添加一個標記,讓 dump 在執行備份時跳過該文件。

使用 restore 來執行還原
要還原使用 dump 保存的信息,可以使用 restore 命令。像 tar 一樣, dump 能夠列出( -t )歸檔文件的內容,並與當前文件作比較( -C )。使用 dump 時必須小心的地方是還原數據。有兩種非常不同的還原方法,您必須使用正確的方法才能獲得可預測的結果。

重建 (-r)
記住,在設計 dump 時考慮得更多的是文件系統,而不是單獨的文件。因此,存在兩種不同的文件還原風格。要重建一個文件系統,可使用 -r 命令行開關。設計重建的目的是為了能在空文件系統上操作,並將它還原為已保存的狀態。在執行重建之前,您應該已經創建、格式化和裝載(mount)了該文件系統。不應該對包含文件的文件系統執行重建。

下面是使用上面執行的轉儲來執行完全重建的例子。


restore -rf /dev/nst0

上面這個命令需要針對要還原的每個文件系統分別執行。

在需要的時候,可以重復這個過程來添加增量備份。

提取 (-x)
如果需要使用單獨的文件而不是使用整個文件系統,您必須使用 -x 開關來提取它們。例如,要僅從我們的磁帶備份中提取 /etc 目錄,可使用以下命令:


restore -xf /dev/nst0 /etc

交互式還原 (-i)
restore 提供的另外一個特性是交互式模式。使用命令:


restore -if /dev/nst0

將把您置於交互式 shell 中,同時還顯示了包含在該歸檔文件中的項。鍵入“help”將會顯示一個命令列表。然後您就可以浏覽並選擇希望提取的項。務必記住,您提取的任何文件都將進入當前目錄。


舉例說明:
dump命令是一個專門用來備份的工具。

[root@laptop pyegrp]# dump -0 -u -f /dev/hda3 /home/pyegrp/
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Dumping /dev/hda9 (/home/pyegrp) to /dev/hda3
DUMP: Added inode 7 to exclude list (resize inode)
DUMP: Label: none
DUMP: mapping (Pass I) [regular files]
DUMP: mapping (Pass II) [directories]
DUMP: estimated 15492 tape blocks.
DUMP: Volume 1 started with block 1 at: Sat Nov 30 19:46:01 2002
DUMP: dumping (Pass III) [directories]
DUMP: dumping (Pass IV) [regular files]
DUMP: Closing /dev/hda3
DUMP: Volume 1 completed at: Sat Nov 30 19:46:13 2002
DUMP: Volume 1 15490 tape blocks (15.13MB)
DUMP: Volume 1 took 0:00:12
DUMP: Volume 1 transfer rate: 1290 kB/s
DUMP: 15490 tape blocks (15.13MB) on 1 volume(s)
DUMP: finished in 12 seconds, throughput 1290 kBytes/sec
DUMP: Date of this level 0 dump: Sat Nov 30 19:45:56 2002
DUMP: Date this dump completed: Sat Nov 30 19:46:13 2002
DUMP: Average transfer rate: 1290 kB/s
DUMP: DUMP IS DONE

-0 是備份的等級,從0-9,0以後都是更新備份的參數,一般常用的是0和9
-u 是將備份記錄寫入/etc/dumpdates這個文件中

[root@laptop pyegrp]# cat /etc/dumpdates
/dev/hda9 0 Sat Nov 30 19:45:56 2002
/dev/hda9 9 Sat Nov 30 17:04:20 2002

注意,當你備份的目錄是一個子目錄,而不是一個分區的頂層目錄時-u參數
是不能使用的。

-f 是指定備份到那個文件,也可以指定一個設備文件,我在這裡指定的就是一個分區

更新備份:
在0級別備份的基礎上,向/home/pyegrp寫入一些新的文件,然後
umount /home/pyegrp
mount /home/pyegrp
注意如果不這樣做,不會將新寫入的文件備份進去的。
然後:
[root@laptop pyegrp]# dump -9 -u -f /dev/hda3 /home/pyegrp/
用restore tf /dev/hda3
就會看到剛剛寫入的文件會出現在列表中。

restore命令是用來恢復備份的。
[root@laptop pyegrp]# restore rf /dev/hda3 /home/pyegrp

用restore命令來查看備份文件裡的文件列表
[root@laptop pyegrp]# restore ft /dev/hda3

Copyright © Linux教程網 All Rights Reserved