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
|