Linux基礎命令---dump

来源:https://www.cnblogs.com/wj78080458/archive/2018/10/31/9885939.html
-Advertisement-
Play Games

dump 檢查ext2/3/4文件系統,確定哪些文件需要備份,這些需要備份的文件將會被覆制到指定的磁碟或者其他存儲介質。dump檢查Ext 2/3/4文件系統上的文件,並確定哪些文件需要備份。這些文件被覆制到給定的磁碟、磁帶或其他存儲介質中以確保全全保存(請參閱下麵的-f選項以進行遠程備份)。大於輸 ...


dump

      檢查ext2/3/4文件系統,確定哪些文件需要備份,這些需要備份的文件將會被覆制到指定的磁碟或者其他存儲介質。dump檢查Ext 2/3/4文件系統上的文件,並確定哪些文件需要備份。這些文件被覆制到給定的磁碟、磁帶或其他存儲介質中以確保全全保存(請參閱下麵的-f選項以進行遠程備份)。大於輸出介質的轉儲被分解為多個捲。在大多數媒體上,大小是通過寫入來確定的,直到返回媒體結束指示為止。

     在無法可靠地返回媒體結束指示(例如一些盒式磁帶驅動器)的媒體上,每個捲都是固定大小的;實際大小是通過指定墨盒介質或通過下麵的磁帶大小、密度和/或塊計數選項來確定的。預設情況下,在提示操作員更改媒體後,每個捲都使用相同的輸出文件名。

     此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、語法

     dump [選項]  [-f 目標文件]  源文件

     dump  [-level#]  [-ackMnqSuv]  [-A file]  [-B records]  [-b blocksize]  [-d density]  [-D file]  [-e inode numbers]  [-E file]  [-f file]  [-F script]  [-h level]  [-I nr errors]  [-jcompression  level]  [-L label]  [-Q file]  [-s feet]  [-T date]  [-y]  [-zcompression level]  files-to-dump

     dump [-W | -w]

     files-to-dump要麼是文件系統的掛載點,要麼是要作為文件系統子集備份的文件和目錄列表。在前一種情況下,可以使用安裝文件系統的路徑或卸載文件系統的設備。在後一種情況下,對備份設置了某些限制:-u是不允許的,唯一支持的轉儲級別是0,所有文件和目錄都必須駐留在同一個文件系統中。

 

2、選項列表

選項

說明

-level#

備份級別。如果是0,那麼就備份整個文件系統;如果大於0,那麼就會備份相對於上一個更低級別備份的新文件和修改過的文件。預設是0。在子目錄中,只允許使用0級備份

-a

“自動尺寸”。繞過所有的磁帶長度計算,並寫入,直到媒體結束指示返回。這是最適合大多數現代磁帶驅動器,這是預設的。當附加到現有磁帶或使用帶有硬體壓縮的磁帶驅動器時,特別推薦使用此選項(在這種情況下,您永遠無法確定壓縮比)。

-A archive_file

存檔指定文件中的“內容轉儲表”,由RESTORE(8)使用,以確定文件是否在正在恢復的轉儲文件中。

-b blocksize

每個轉儲記錄的千位元組數。預設的塊大小為10,除非-d選項已用於指定6250 BPI或更高的磁帶密度,在這種情況下,預設的塊大小為32。但是請註意,由於IO系統將所有請求分割成塊MAXBSIZE(可低到64 KB),因此在使用更高的值時,可能會遇到轉儲(8)和恢復(8)的問題,這取決於內核和/或libC版本。

-B records

每捲1 kB塊的數目。通常不需要,因為轉儲可以檢測到媒體的結束.達到指定大小時,dump將等待您更改捲。此選項將重寫基於長度和密度的磁帶大小計算。如果壓縮限制了每個捲的壓縮輸出的大小。多個值可以作為一個由逗號分隔的參數給出。每個值將按所列順序用於一個轉儲捲;如果轉儲創建的捲比給定的值數多,則其餘捲將使用最後一個值。這對於填充已經部分填充的媒體(然後在空媒體上繼續使用全尺寸捲)或混合不同大小的媒體非常有用。

-c

更改預設使用的磁帶驅動器,密度為8000 BPI,長度為1700英尺。指定墨盒驅動器將覆蓋媒體端檢測。

-d density

設置磁帶密度。預設為1600 BPI。指定磁帶密度將覆蓋媒體端檢測。

-D file

設置文件的路徑名,該文件存儲有關前一個完整轉儲和增量轉儲的信息。預設位置是/etc/dumpdate

-e inodes

不包含指定的inodes。inodes參數是一個逗號分隔的inode編號列表

-E file

從文本文件中讀取備份時要排除的inode列表。該文件應該是一個普通文件,其中包含由換行符分隔的inode編號。

-f filename

將備份寫入文件;文件可能是一個特殊的設備文件,如/dev/st0(atAPE驅動器)、/dev/rsd1c(軟盤驅動器)、普通文件或-(標準輸出)。多個文件名可以作為一個由逗號分隔的參數。每個文件將按所列順序用於一個轉儲捲;如果轉儲所需的捲數量超過給定的名稱數,則在提示進行媒體更改後,最後一個文件名將用於所有剩餘捲。如果文件的名稱為“host:file”或“user@host:file”,dump寫入遠程主機上的命名文件(應該已經存在,那麼轉儲不會使用RMT(8)創建新的遠程文件)。遠程RMT(8)程式的預設路徑名是“/etc/rmt”;這可以被環境變數RMT覆蓋

-F script

在每個磁帶的末尾運行腳本(最後一個除外)。設備名稱和當前捲號將在命令行上傳遞。如果轉儲應該繼續而不要求用戶更改磁帶,則腳本必須返回0;如果轉儲應該繼續,則返回0。更改磁帶。任何其他退出代碼都會導致轉儲中止。出於安全考慮,轉儲在運行腳本之前返回到實際用戶ID和真實組ID。

-h level

只對給定級別或以上的轉儲授予用戶節點標誌UF_NODUMP。預設榮譽級別為1,因此增量備份省略了這些文件,但完整備份保留了這些文件。當給定的備份級別大於這個-h指定的級別時,那麼就不備份標誌為“UF_NODUMP”的文件。

-I nr_errors

預設情況下,在請求操作符干預之前,轉儲將忽略文件系統上的前32次讀取錯誤。可以使用此標誌將其更改為任意值。當在活動文件系統上運行轉儲時,這是非常有用的,因為讀取錯誤只是表示映射和轉儲傳遞之間的不一致。0,代表忽略所有的錯誤

-jcompression_level

使用bzlib庫壓縮要寫入磁帶上的每個塊。只有在將文件或管道轉儲到文件或管道時,或者在將磁帶驅動器轉儲到磁帶驅動器時,如果磁帶驅動器能夠寫入可變長度的塊,此選項才能工作。您至少需要0.4b24版本的還原才能提取壓縮磁帶。使用壓縮編寫的磁帶將與BSD磁帶格式不相容。(可選)參數指定bzlib將使用的壓縮級別。預設壓縮級別為2。如果指定了可選參數,則選項字母和參數之間不應該有空白。

-k

使用Kerberos身份驗證與遠程磁帶伺服器對話。(只有在編譯轉儲時啟用此選項時才可用。)

-L label

用戶提供的文本字元串標簽label被放置到轉儲頭中,在這裡,像RESTORE(8)和FILE(8)這樣的工具可以訪問它。請註意,此標簽最多限於LBLSIZE(當前16)個字元,其中必須包括終止\0

-m

如果指定了此標誌,dump將優化自上次轉儲以來已更改但未修改的inode的輸出(“已更改”和“修改”的含義在stat(2)中定義)。對於這些inode,dump將只保存元數據,而不是保存整個inode內容。此標誌的使用必須是一致的,這意味著增量轉儲集中的每個轉儲都有該標誌,或者沒有人擁有該標誌。

如果使用此選項,請註意,許多從檔案中解壓縮文件的程式(例如tar、rpm、unzip、dpkg)可能會將文件的mtime設置為過去的日期。如果修改後的mtime早於以前的級別轉儲,以這種方式安裝的文件可能無法使用“dump-m”正確轉儲。使用這種“元數據”inode編寫的磁帶將與bsd磁帶格式或較早版本的還原不相容。

-M

啟用多捲功能.使用“-f”指定的名稱被視為首碼,並按順序寫入<prefix>001,<prefix>002等等。這在將文件轉儲到Ext 2/3/4分區上的文件時非常有用,以繞過2GB文件大小限制

-n

每當轉儲需要操作員註意時,以類似於wall(1)的方式通知組操作符中的所有操作符。

-q

每當需要操作員註意時,立即使dump中止,而無需提示寫入錯誤、磁帶更改等。

-Q file

啟用快速文件訪問支持。每個inode的磁帶位置存儲在RESTORE使用的文件中(如果用參數q和文件名調用)直接將磁帶定位在當前正在進行的文件恢復中。這將節省從大型備份恢復單個文件的時間,保存磁帶和驅動器的磁頭。

建議將st驅動程式設置為在調用帶參數的轉儲/還原之前返回邏輯磁帶位置而不是物理磁帶位置。因為並非所有磁帶設備都支持物理磁帶位置,所以當st驅動程式設置為預設物理設置時,這些磁帶設備在轉儲/還原期間返回一個錯誤。請參見st(4)手冊頁,選項MTSETDRVBUFFER。,或mt(1)手冊頁,介紹如何設置驅動程式返回邏輯磁帶位置。在使用參數“-Q”調用RESTORE之前,始終確保st驅動程式設置為返回調用轉儲過程中使用的相同類型的磁帶位置。否則,還原可能會被混淆。

此選項可在轉儲到本地磁帶(見上文)或本地文件時使用。

-s feet

試圖計算在特定密度下所需的磁帶數量。如果超過此數量,則轉儲提示輸入新磁帶。建議在這個選項上有點保守。預設的磁帶長度是2300英尺。指定磁帶大小將覆蓋媒體端檢測。

-S

大小估計。確定在沒有實際執行轉儲的情況下執行轉儲所需的空間數量,並顯示它將占用的估計位元組數。這對於增量轉儲非常有用,可以確定需要多少捲媒體。

-T date

指定備份的日期。使用指定的日期作為轉儲的開始時間,而不是從查看/etc/dumpdate中確定的時間。日期的格式與ctime(3)的格式相同,後面跟著rfc 822時區規範:一個正負號,後面跟著兩位數的小時數和兩位數的分鐘數。例如,格林威治以西8小時為0800小時,格林威治以東2小時半為0230小時。此時區設置考慮了夏時制時間(如果適用於時區):當夏時制時間生效時,UTC偏移量將與夏時制時間無效時的抵消值不同。為了向後相容,如果沒有指定時區,則假定為本地時間。此選項對於希望在特定時間內轉儲的自動轉儲腳本非常有用。-T選項與-u選項相互排斥。

-u

備份完成後,在/etc/dumpdates中記錄備份的文件系統、日期。人們可以閱讀/etc/dumpdate的格式,包括每行一個空閑的格式記錄:文件系統名稱、增量級別和ctime(3)格式轉儲日期,後面是rfc 822時區規範(詳見-u選項)。如果未指定時區偏移量,則將時間解釋為本地時間。每當寫入文件時,文件中的所有日期都轉換為本地時區,而不更改UTC時間。每個文件系統在每個級別上可能只有一個條目。如果需要,可以編輯/etc/dumpdate文件以更改任何欄位。

-v

顯示詳細的信息,幫助調試錯誤

-W

顯示出最近的備份時間、層級,檢測需要備份的文件。當W選項出現時,其他的選項都被忽略。轉儲告訴操作符哪些文件系統需要轉儲。這個信息是從文件“/etc/dumpdate”和“/etc/fsman”收集的。-W選項會導致對”/etc/dumpdate”中的所有文件系統和”/etc/mtab”中的所有文件系統以及在”/etc/mtab”和”/etc/fstat”中識別的文件系統列印出來。最近的轉儲日期和級別將突出顯示應該轉儲的文件系統。

-w

類似於“-W”,但只在“/etc/mtab”和“/etc/fstat”中列印需要轉儲的可識別的文件系統。

-y

使用lzo庫壓縮要寫入磁帶的每個塊。這不能像zlib庫那樣壓縮,但速度要快得多。只有在將文件或管道轉儲到磁帶驅動器時,或者當磁帶驅動器能夠寫入可變長度的塊時,此選項才能工作。您至少需要0.4b34版本的還原才能提取壓縮磁帶。使用壓縮編寫的磁帶將與bsd磁帶格式不相容。

-zcompression level

使用zlib庫壓縮要寫入磁帶上的每個塊。此選項僅在將文件或管道轉儲到文件或管道時才能工作,或者在將磁帶驅動器轉儲到磁帶驅動器時,如果磁帶驅動器能夠寫入可變長度的塊,則此選項才能工作。您將需要至少0.4b22版本的恢復,以提取壓縮磁帶。使用壓縮編寫的磁帶將與BSD磁帶格式不相容。(可選)參數指定zlib將使用的壓縮級別。預設壓縮級別為2。如果指定了可選參數,則選項字母和參數之間不應該有空白。

 

3、說明

     dump需要操作員對以下條件進行干預:磁帶結束、轉儲結束、磁帶寫入錯誤、磁帶打開錯誤或磁碟讀取錯誤(如果存在nr錯誤的閾值以上)。除了通知-n鍵所暗示的所有操作符之外,在轉儲不能繼續時,或者在發生嚴重錯誤時,轉儲與轉儲控制終端上的操作符進行交互。所有的問題轉儲構成必須通過鍵入“是”或“否”,適當地回答。

     因為做一個dump需要花費大量的時間和精力,所以在每個磁帶捲的開頭都會轉儲檢查點。如果由於某種原因寫入該捲失敗,則在重新裝入和刪除舊磁帶並安裝新磁帶之後,在操作員許可下,轉儲將從檢查點重新啟動。

     dump以周期性的間隔告訴操作符正在發生什麼,包括通常對要寫入的塊數、所需磁帶的數量、完成時間和磁帶更改時間的低估計。輸出是冗長的,因此其他人知道終端控制轉儲是繁忙的,而且會持續一段時間。

在發生災難性磁碟事件時,將所有必要的備份磁帶或文件恢復到磁碟所需的時間可以通過錯位增量轉儲來保持在最低限度。一種將磁帶數量降到最小的增量式轉儲的有效方法如下:

     1)總是從0級備份開始,例如:“/sbin/dump -0u -f /dev/st0 /usr/src“。這應該每隔一段時間進行一次,比如每月一次或每兩個月一次,併在一套永久保存下來的新磁帶上進行。

     2)在級別0之後,每天都會對活動文件系統進行轉儲,並使用此轉儲級別序列:”3 2 5 4 7 6 9 8 9 9 ... “。

經過幾個月左右的時間,每天和每周的磁帶都應該從轉儲周期中輪換出來,新的磁帶應該被帶進來。

 

4、環境變數

     1)TAPE。如果沒有指定“-f“選項,dump將使用通過TAPE指定的設備作為轉儲設備。TAPE可以是磁帶名字、host:tapename、user@host:tapename。

     2)RMT。環境變數RMT將用於確定遠程rmt(8)程式的路徑名。

     3)RSH。dump使用此變數的內容來確定遠程備份時要使用的遠程shell命令的名稱(rsh、ssh等)。如果未設置此變數,則將使用rcmd(3),但只有root才能進行遠程備份。

 

5、文件

     1)/dev/st0,要備份到的預設磁帶單元。

     2)/etc/dumpdates,dump的日期記錄。

     3)/etc/fstab,轉儲表:文件系統和頻率

     4)/etc/mtab,轉儲表:掛載的文件系統

     5)/etc/group,查找組操作符

 

6、退出碼

     成功時dump狀態為零。啟動錯誤用退出代碼1表示;異常終止用退出代碼3表示。

當發生讀取錯誤時,轉儲輸出相應的物理磁碟塊和扇區號以及Ext 2/3/4邏輯塊號。它不列印相應的文件名,甚至不列印inode編號。用戶必須使用調試器(8),命令nCheck和icheck將由轉儲輸出的ext2blk數字轉換為inode號,然後轉換為文件名。

     每個卷軸都需要一個新的進程,所以卷軸的父進程已經寫的只是掛在一起,直到寫了整個磁帶。如果壓縮為ON,則估計的磁帶數不正確。如果dump知道dump序列,就會很好,保持跟蹤的磁帶,告訴操作員要安裝什麼磁帶,併為運行恢復的操作員提供更多的幫助。

     由於轉儲的安全歷史,它無法在不以root用戶身份運行的情況下進行遠程備份。目前,如果設置setuid(與以前一樣),它就能工作,但這可能會構成安全風險。請註意,可以將rsh設置為使用遠程shell程式。

 

7、bug

     這個版本的dump只能處理Ext 2/3/4文件系統,這可能被認為是一個錯誤。具體來說,它不適用於FAT文件系統。忽略文件系統上少於32個讀取錯誤(用-i更改此錯誤)。如果註意讀取錯誤很重要,則可以解析轉儲的輸出,以查找包含文本“讀取錯誤”的行。

 

8、實例

備份目錄/weijie

[root@localhost /]# dump -0f /bak/1.bak /weijie/      //備份到1.bak

  DUMP: Date of this level 0 dump: Fri Sep  7 09:26:15 2018

  DUMP: Dumping /dev/mapper/VolGroup-lv_root (/ (dir weijie)) to /bak/1.bak

  DUMP: Label: none

  DUMP: Writing 10 Kilobyte records

  DUMP: mapping (Pass I) [regular files]

  DUMP: mapping (Pass II) [directories]

  DUMP: estimated 418 blocks.

  DUMP: Volume 1 started with block 1 at: Fri Sep  7 09:26:15 2018

  DUMP: dumping (Pass III) [directories]

  DUMP: dumping (Pass IV) [regular files]

  DUMP: Closing /bak/1.bak

  DUMP: Volume 1 completed at: Fri Sep  7 09:26:15 2018

  DUMP: Volume 1 410 blocks (0.40MB)

  DUMP: 410 blocks (0.40MB) on 1 volume(s)

  DUMP: finished in less than a second

  DUMP: Date of this level 0 dump: Fri Sep  7 09:26:15 2018

  DUMP: Date this dump completed:  Fri Sep  7 09:26:15 2018

  DUMP: Average transfer rate: 0 kB/s

  DUMP: DUMP IS DONE

You have new mail in /var/spool/mail/root

 

[root@localhost weijie]# file /bak/1.bak                //查看備份文件

/bak/1.bak: new-fs dump file (little endian), This dump Fri Sep  7 09:26:15 2018, Previous dump Thu Jan  1 08:00:00 1970, Volume 1, Level zero, type: tape header, Label none, Filesystem / (dir weijie), Device /dev/mapper/VolGroup-lv_root, Host localhost.localdomain, Flags 3

     


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 概述 在文本框中我們可以實現的操作有很多,如插入文字、圖片、設置字體大小、顏色、文本框背景填充、邊框設置等。下麵的示例中,將介紹通過C# 在PPT幻燈片中插入幻燈片的方法。 示例中包含了以下要點: 插入文本到文本框 設置邊框顏色、粗細 文本框背景色填充 設置文本框旋轉 設置文本框陰影效果 使用工具: ...
  • 大家都應該比較熟悉NLOG,我們知道log4net和nlog,也有其它的記日誌框架。目前我們的生產環境使用nlog,而且對Exceptionless的對接也是無縫的。可能有人會問為什麼不用ELK,主要是目前覺得Exceptionless足夠我們生產使用,後期看項目擴容度決定是否替換,言歸正傳,需要註 ...
  • 一 項目結構 1> 介面項目 .net core類庫 2> Grains實現項目 .net core類庫 3> 服務Host .net core console application 4> 服務調用者Client .net core console application with tcp 5> ...
  • 在我們努力[完成下一個 minor 版本的 ASP.NET Core](https://blogs.msdn.microsoft.com/webdev/2018/10/17/asp-net-core-2-2-0-preview3-now-available/) 的同時,我們也在對下一個 major ... ...
  • 先分析需求 在MVC項目中,我們如果有兩個Areas。比如Test和DEMO。我們的訪問地址應該是 http://localhost:8098/test http://localhost:8098/demo 如果我們綁定功能變數名稱後想實現這樣訪問 http://test.abc.com:8098/ htt ...
  • 本文主要介紹瞭如何在沒有有線網的情況下安裝Kali Linux 的無線網卡驅動,主要原理是通過從源網站直接下載缺失的軟體包,希望能夠幫到大家! ...
  • 在linux中,我們有的時候發現linux無法刪除一個文件或者目錄。 huskiesir第一次遇見這個問題還是在一次伺服器被不法分子入侵之後的事情,我就發現某個進程很多,根據進程的名字,我搜索關鍵字找到了某個a.sh文件。 於是huskiesir就用rm -rf a.sh,結果居然是顯示 rm: 無 ...
  • 時至今日,Linux系統已經從一個個人作品發展為可以用於各種關鍵任務的成熟、高效和穩定的操作系統,因為具備跨平臺、開源、支持眾多應用軟體和網路協議等優點,它得到了各大主流軟硬體廠商的支持,也成為廣大程式設計人員理想的開發平臺。 本書是Linux程式設計領域的經典名著,以簡單易懂、內容全面和示例豐富而 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...