dump命令詳解

2022-03-21 22:17:34 字數 3637 閱讀 6640

基礎命令學習目錄首頁

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命令備份步驟

1.建立系統:dd if=icp-centos54-64.img of=lvstest1.img bs=100m

2.建立備份塊:dd if=/dev/zero of=backup.img bs=100m count=100

3.mkfs.ext3 backup.img

4.建立vm系統啟動檔案lvstest1.xml

5.啟動vm:virsh create lvstest1.xml

6.進入系統掛載備份塊:mount /dev/sdb /mnt

7.使用命令進行系統備份:dump -0uf /mnt/backup0.dump /

在我們的系統中 dump 命令是沒有安裝的,所以先安裝一下 dump 命令,安裝命令如下:

[root@localhost ~]# yum -y install dump

在正式介紹 dump 命令之前,我們需要知道 dump 命令可以支援 0~9 共 10 個備份級別。其中,0 級別指的就是完全備份,1~9 級別都是增量備份級別。

也就是說,當我們備份乙份資料時,第一次備份應該使用 0 級別,會把所有資料完全備份一次;第二次備份就可以使用 1 級別了,它會和 0 級別進行比較,把 0 級別備份之後變化的資料進行備份;第三次備份使用  2 級別,2 級別會和 1 級別進行比較,把 1 級別備份之後變化的資料進行備份;以此類推。

需要注意的是,只有在備份整個分割槽或整塊硬碟時,才能支援 1~9 的增量備份級別;如果只是備份某個檔案或不是分割槽的目錄,則只能使用 0 級別進行完全備份。

dump 命令格式如下:

[root@localhost ~]# dump [選項] 備份之後的檔名 原檔案或目錄

選項:-level:就是我們說的 0~9 共 10 個備份級別;

-f  檔名:指定備份之後的檔名;

-u:備份成功之後,把備份時間記錄在 /etc/dumpdates 檔案中;

-v:顯示備份過程中更多的輸出資訊;

-j:呼叫 bzlib 庫壓縮備份檔案,其實就是把備份檔案壓縮為 .bz2 格式,預設壓縮等級是 2;

-w:顯示允許被 dump 的分割槽的備份等級及備份時間;

dump 命令是乙個較為複雜的命令,如果我們只是想要實現資料的備份與恢復,那麼掌握以上幾個選項就足夠了。

我們先來看看如何使用 0 級別備份分割槽。命令如下:

如果 /boot 分割槽的內容發生了變化,則可以使用 1 級別進行增量備份。當然,如果資料會繼續發生變化,則可以繼續使用 2~9 級別增量備份。命令如下:

[root@localhost ~]# ll -h /root/install.log

-rw-r--r--.1 root root 25k 4月 10 21:49 /root/install.log

#檢視安裝軟體包日誌的大小為25kb

[root@localhost ~]# cp install.log /boot/

#複製日誌檔案到/boot分割槽

[root@localhost ~]# dump -1uj -f /root/boot.bak1.bz2 /boot/

#增量備份/boot分割槽,並壓縮

[root@localhost ~]# ll -h boot.bak*

-rw-r--r--.1 root root 18k 6月 5 03:16 boot.bak1.bz2

-rw-r--r--.1 root root 19m 6月 5 03:08 boot.bak.bz2

#boot.bak1.bz2壓縮檔案只有18kb,證明增量備份只備份了0級別以後變化的資料

#boot.bak1.bz2壓縮檔案只有18kb,證明增量備份只備份了0級別以後變化的資料

如果備份的是整個分割槽,那麼是可以使用「dump -w」命令來查詢分割槽的備份時間及備份級別的。不過要注意,如果備份時沒有使用「-u」選項,那麼「dump -w」命令是不會記錄備份的時間和級別的。命令如下:

[root@localhost ~]# dump -w

last dump(s) done (dump '>' file systems):

/dev/sda3 ( /) last dump:level 1, date wed jun 5 02:31:50 2013

/dev/sda1 ( /boot) last dump:level 1, date wed jun 5 03:16:27 2013

#我的/分割槽和/boot分割槽都進行過dump備份,/boot分割槽的最新備份級別是1

dump命令可以非常方便地實現增量備份,但是如何實現差異備份呢?其實也很簡單,先使用 0 級別完全備份一次,以後的每次備份都使用 1 級別進行備份。

dump 命令也可以檔案或目錄,不過,只要不是備份分割槽,就只能使用 0 級別進行完全備份,而不再支援增量備份。同時,不能使用「-u」選項更新分割槽的備份時間,當然也不能使用「dump -w」命令查詢到檔案或目錄的備份。

我們說 /etc/ 目錄是重要的配置檔案目錄,那麼我們就備份這個目錄來看看吧。命令如下:

[root@localhost ~]# dump -0j -f /root/etc.dump.bz2 /etc/

#完全備份/etc/目錄

[root@localhost ~]# ll -h /root/etc.dump.bz2

-rw-r--r--.1 root root 8.6m 6月 5 03:26 /root/etc.dump.bz2

#檢視備份檔案

不過,如果使用增量備份會怎麼樣呢?命令如下:

[root@localhost ~]# dump -1j -f /root/etc.dump1.bz2 /etc/

dump:only level 0 dumps are allowed on a subdirectory

dump:the entire dump is aborted.

#備份失敗了,目錄備份只能使用0級別

dump 命令使用

如果想匯入的使用者已經存在 1.匯出使用者 expdp user1 pass1 directory dumpdir dumpfile user1.dmp 2.匯入使用者 impdp user2 pass2 directory dumpdir dumpfile user1.dmp remap sche...

程式設計知識彙總 捕獲dump,生成dump

windows 應用程式崩潰時的記憶體轉儲及dump檔案的分析 傳送門 vc 程式崩潰後不生成dump檔案 傳送門 寫乙個windows上的守護程序 7 捕獲異常並生成dump 傳送門 google breakpad 之一,跨平台crash 處理上報系統簡介 傳送門 google breakpad ...

C 生成dump檔案,除錯dump檔案

dump 檔案是程序的記憶體映象 可以把程式的執行狀態通過偵錯程式儲存到dump檔案中 dump 檔案是用來給驅動程式編寫人員除錯驅動程式用的 這種檔案必須用專用工具軟體開啟 比如使用 windbg visualstudio開啟 當我們的程式發布出去之後 在客戶機上是無法跟蹤自己 的 bug 的 所...