Linux 備份工具dump


  dump的功能很強,除了可以備份整個文件外,還能夠針對目錄來備份,還可以指定等級。什么意思呢?假設你的/home是獨立的一個

文件系統,那你第一次進行過dump后,再進行第二次dump時,可以指定不同的等級,如果指定的等級為1,此時設備的數據只會記錄與第一次

備份有所差異的文件而已。

  

  上方的“實時文件系統”是一直隨着時間變化的數據,例如在/home里面的文件數據會一直變化。而下方的方塊則是dump備份起來的數據,第一次

備份時使用的是level0,這個等級也是完整的備份,等到第二個備份時,實時文件系統內容已經與level0不一樣了,而level1僅只是比較目前文件系統與

level0之間的差異后,備份有變化的文件而已。至於level2則是與level1進行比較。

  雖然dump支持整個文件系統或者是單一目錄,但是對於目錄的支持比較不足,這是dump的不足所在。

  備份數據為單一文件系統

    如果是單一文件系統,那么該文件系統可以使用完整的dump功能,包括利用0-9級的數個leve類備份,同時,備份時可以使用掛載點或者是設備文件

  名來進行備份。

  待備份的數據只是目錄,並非單一文件系統

  如果你僅想備份/home/someone/,但是該目錄並非獨立的文件系統時,此時備份就有限制:

    - 所有的備份數據都必須要在該目錄(/home/someone/)下面

    - 且僅能使用level 0,僅支持完整備份而已

    - 不支持-u參數,無法創建/etc/dumpdates這個level備份的時間記錄文件。

  dump雖然非常復雜,如果只是想要簡單的操作時,只要記住下面幾個參數:

  

用dump備份完整的文件系統

  

  

  看看能否真的新建level1的備份:

  

  備份非文件系統,即單一目錄的方法

    現在來處理/etc的dump備份。因為/etc並非單一文件系統,它只是一個目錄而已。所以 -u level1~9都不使用。我們只能使用level0的完整

  備份將/etc dump下來 :

  

  

  一般來說dump不會使用壓縮的功能,不過如果想要將備份空間降低的話,那個-j的參數是可以使用的。加上-j之后你的dump結果會使用較少

  的應盤空間。

restore

  dump的恢復使用的是restore這個命令。這個命令參數也非常多,可以自行 manrestore,這里只做簡單介紹:

  

  用restore查看dump備份數據內容

  

  

    這個查詢的數據其實顯示出的是文件名與元文件的inode狀態,所以說我們可以說,dump會參考inode的記錄。通過這個查詢我們可以

  知道dump的內容為何。

  比較差異並且還原整個文件系統

  為什么dump可以進行累計備份呢?就是因為它具有可以查詢文件系統與備份文件之間的差異,並且將分析到的差異進行備份的緣故。

  

  上面的操作,通過曾經備份過的信息,可以找到與目前實際文件系統中有差異的數據。那如何還原呢。由於dump是記錄整個文件系統的

  因此還原時你也應該要給與一個全新的文件系統。下面我們新建一個文件系統,然后在還原。

  

  

  如果還想要將level1的那個文件內容也還原的話,那就繼續使用“restore -r -f /boot/boot.dump1”去還原。

  僅還原部分文件的restore

  

  

  restore內的add除了可以增加文件外,也能夠增加整個備份的目錄。

 dd

  因為dd可以讀取磁盤設備的內容(幾乎是直接讀取扇區),然后將整個設備備份成一個文件。dd的用途很多,比較重要的參數如下:

  

  你可以說,tar可以用來備份關鍵數據,而dd則可以用來備份整塊分區或整塊磁盤,如果不需要將數據填回到文件系統中,可能需要考慮到原本

  的文件系統才能成功。新分區出來的分區不需要經過格式化,因為dd可以將原本舊的分區中扇區表面的數據整個復制過來。當然連同superblock

  boot sector , meta data等全部復制過來。未來你想要構建一模一樣的磁盤時,只要執行“dd if=源分區 of=目標分區”,就能夠讓兩塊磁盤一模一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM