スポンサーリンク

DUMP(8) FreeBSD システム管理者マニュアル DUMP(8)

名称

dump, rdump − ファイルシステムのバックアップ

書式

dump [−0123456789acLnSu] [−B records] [−b blocksize] [−C cachesize] [−D dumpdates] [−d density] [−f file | −P pipecommand] [−h level] [−s feet] [−T date] filesystem

dump −W | −w

rdumpdump の別名です。

(4.3BSD 形式のオプションは後方互換性のために実装されていますが、ここでは 説明していません。)

解説

dump ユーティリティは、ファイルシステムを調べてバックアップする必要のある ファイルを決定します。これらのファイルは、指定されたディスク、テープや、 その他の記憶メディアへ保存のためコピーされます (リモートバックアップにつ いては、 −f オプションを参照)。ダンプの大きさが記録メディアの容量より大き い場合は、複数ボリュームに分割します。たいていのメディアの容量は、メディ アの終りを通知されるまで書き込んでみることで決定します。この方法は、 −a オプションにより強制的に使用することもできます。

メディアの終りを正しく通知できないメディア (一部のカートリッジ・テープド ライブ等) の容量は、テープ長と記録密度や −B オプションから求め、各ボ リュームはすべて同じ容量を持つものとします。デフォルトでは、オペレータに メディア交換を要求した後の各ボリュームにも同じ出力ファイル名を使用しま す。

ダンプ対象のファイルシステムは、引数 filesystem にて、デバイススペシャル ファイルか (/etc/fstab 中の標準エントリの場合) マウントポイントで指定しま す。

dump は、次のオプションをサポートしています。

       −0-9

ダンプレベル。レベル 0 はフルバックアップを意味し、ファイルシステ ム全体をコピーすることを保証します (ただし以下の −h オプションに も注意して下さい)。 0 より大きなレベル番号はインクリメンタルバッ クアップを意味し、前回のダンプ (今回指定したものより低いレベルの ダンプ) 以降に作られたか修正されたすべてのファイルをコピーしま す。デフォルトのレベルは 0 です。

−a
‘‘オートサイズ’’ 全てのテープ長の考慮をせず、メディアの終了を通知 されるまで、強制的に書き込みを続けます。現在のほとんどのテープド ライブでは、この方法によりもっとも良い結果が得られます。特に、使 いかけのテープに追加したり、ハードウェア圧縮機能のあるテープドラ イブ(圧縮率がどの程度になるか不確かなもの)を使用したりする場合に このオプションを使用することをお薦めします。

−B records
ボリュームあたりのキロバイト数です。この値が出力ブロックサイズの 整数倍でない場合、コマンドはこの値より小さい整数倍値を使用しま す。このオプションは、テープ長と記録密度を基にしたテープ容量より 優先されます。

−b blocksize
出力ブロックあたりのキロバイト数です。

−C cachesize
キャッシュサイズをメガバイト単位で指定します。性能が劇的に向上し ますが、パス間のファイルシステムへの変更に dump が気付かない可能 性があります。スナップショットダンプ時には本オプションを常に使用 することをお勧めします。 dump はフォークしますので、実際に使用さ れるメモリ量はキャッシュサイズより大きいかもしれないことに注意し てください。推奨キャッシュサイズは 8 から 32 (メガバイト) の間で す。

−c
カートリッジテープドライブ用に、記録密度とテープ長のデフォルトを それぞれ 8000 bpi、1700 feet に変更します。

−D dumpdates
dumpdates
ファイルの代替パスを指定します。デフォルトは /etc/dumpdates です。

−d density
テープの記録密度を density に設定します。デフォルトは 1600BPI で す。

−f file
バックアップの出力先ファイルを指定します。出力先ファイルとして は、 /dev/sa0 (テープドライブ)や /dev/fd1 (フロッピディスクドライ ブ)のようなデバイスファイル、通常ファイル、 ‘’ (標準出力)を指定 することができます。複数のファイル名を、コンマで区切って一つの引 数として指定することができます。各ファイルは、リストされた順に一 つのダンプボリュームに使用されます。指定した名前の数より多くのボ リュームが必要な場合、メディアの交換を要求した後、最後のファイル 名を残りのすべてのボリュームに使用します。ファイル名が、 ‘‘host:file’’ または、 ‘‘user@host:file’’ の形式である場合、 dump は、 rmt(8) を使用してリモートホスト上の指定されたファイルに書き 込みます。リモートの rmt(8) のデフォルトのパス名は /etc/rmt です が、環境変数 RMT の値が優先されます。

−P pipecommand
pipecommand
で定義された sh(1) スクリプト文字列を各ボリュームの出 力デバイスに対して実行するために popen(3) を使います。この子のパ イプラインの 標準入力 (/dev/fd/0) は dump の出力ストリームからリ ダイレクトされ、環境変数 DUMP_VOLUME には現在書き込んでいるボ リューム番号が設定されます。各ボリュームを書き込んだ後で、パイプ の書き手側がクローズされ、 pipecommand が再び実行されます。 −B で メディアの大きさが指定されていれば、出力がテープドライブであるか のように、各ボリュームを上記のように書き出します。

−h level
ダンプレベルが level 以上の時に、ユーザが指定した ‘‘nodump’’ フラ グ (UF_NODUMP) に従います (h: honor the flag)。デフォルトの honor レベルは 1 ですから、そのようなファイルは、インクリメンタルダンプ からは省かれますが、フルバックアップには含まれます。

−L
ライブファイルシステムをダンプ中であることを dump に通知します。 一貫性のあるダンプイメージを得るために、ダンプ対象のファイルシス テムのルートの .snap ディレクトリに、 dump はファイルシステムのス ナップショットを取り、それからスナップショットをダンプします。ダ ンプ完了時に、スナップショットは削除されます。アンマウントされた ファイルシステムや読み込み専用のファイルシステムに対しては、この オプションは無視されます。ダンプ対象のファイルシステムのルートに .snap ディレクトリが存在しない場合、警告が出て dump は標準の動作 に戻ります。この問題は、ダンプ対象のファイルシステムのルートに .snap ディレクトリを作成することで、解決可能です。このディレクト リの所有者は ‘‘root’’ で、グループは ‘‘operator’’ で、モードは ‘‘0770’’ であるべきです。

−n
dump
がオペレータに注意を促す時に、 wall(1) に似た方法で ‘‘operator’’ グループに属するすべてのユーザにメッセージを送りま す。

−S
バックアップの大きさと必要なテープ数の見積もりを表示し、実際のダ ンプを実行せずに終了します。

−s feet
テープの容量を計算する時に記録密度とともに使います。この容量を超 えた場合に、 dump は新しいテープを要求します。このオプションはや や控え目に指定することをお勧めします。デフォルトのテープの長さ は、2300 フィートです。

−T date
dumpdates
ファイルから得られた日時の代わりに、指定された date を ダンプの起点として使います。date の形式は ctime(3) のそれと同じで す。このオプションは期間を指定してバックアップを取るダンプスクリ プトで有用です。 −T オプションは −u オプションと同時には指定でき ません。

−u
ダンプが成功した後で、 dumpdates ファイルを更新します。 dumpdates ファイルは人が読めるファイルであり、各行に以下のレコードがフリー フォーマットで記録されています : ファイルシステム名、インクリメン トレベル、 ctime(3) 形式のダンプ日付。各レベルとファイルシステム ごとにエントリが一つだけ存在します。必要なら、 dumpdates ファイル の各フィールドを編集しても構いません。 dumpdates ファイルのデフォ ルトは /etc/dumpdates ですが、 −D を使用してこれを変更可能です。

−W
ダンプの必要があるファイルシステムをオペレータに表示します。この 情報は dumpdates ファイルと /etc/fstab ファイルから集められます。 dump は、 dumpdates ファイルの中の各ファイルシステム毎に最新のダ ンプ日付とレベルを示し、ダンプするべきファイルシステムを明らかに します。 −W オプションが指定された場合、その他のすべてのオプショ ンは無視され、 dump は直ちに終了します。

−w
−W
と同様ですが、ダンプの必要のあるファイルシステムのみを表示しま す。

‘‘nodump’’ フラグ (UF_NODUMP) が設定されたディレクトリおよび通常ファイル と、そのようなディレクトリ配下のすべては、省略されます。 −h オプションに 従います。

dump ユーティリティは、以下に示す場合にオペレータの介入を要求します : テープの終了、ダンプの終了、テープ書き込みエラー、テープオープンエラー、 ディスク読み込みエラー (32 回を越えた場合)。処理を続けられない時や何か大 変まずい事態になった場合には、 dump は、 −n オプションがあればすべてのオ ペレータへ警告したうえで、 dump の制御端末上でオペレータとやりとりしま す。 dump コマンドからのすべての質問には、 ‘‘yes’’ または ‘‘no’’ で適切に 答えなければなりません。

フルダンプの実施には多くの時間と労力がかかるので、 dump は各テープボ リュームの先頭にチェックポイントを設定します。何らかの理由により、あるボ リュームの書き込みを失敗した場合には、テープの巻き戻し、排出、新しいテー プのマウントの後で、 dump はオペレータの許可の下でチェックポイントから実 行を再開します。

dump ユーティリティは、処理の進行を (5 分毎または SIGINFO 受信時に) 定期 的にオペレータに報告します。報告には、少なめに推定される書き込みブロック 数、必要なテープ数、完了までの時間、テープ交換までの時間、を含みます。 dump に使っている端末が使用中であることが他人にも分かるように、このメッ セージは冗長になっています。

ディスクに壊滅的なトラブルが起きた時に、バックアップテープやファイルから ディスクを復元するために必要な時間は、インクリメンタルダンプを適当なシー ケンスで実行する事によって最小にする事ができます。最小のテープ数でこれを 行なう効果的な方法を示します。

常にレベル 0 のバックアップから開始します。例えば以下の通りで す。

/sbin/dump -0u -f /dev/nsa0 /usr/src

これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、ずっと保存 します。

 0 レベルのダンプの後は、アクティブなファイルシステム (データが更新されるファイルシステムです。パーティションレイアウトによっては、データが更新されないファイルシステムもあります) のダンプを、修正ハノイの塔アルゴリズムによる次の様なダンプレベルシーケンスによって、毎日行います。

3 2 5 4 7 6 9 8 9 9 ...

毎日のダンプには、一週間毎に繰り返し使われる事になる一定の数の テープを使う事ができます。週毎にレベル 1 ダンプを行ない、毎日の ハノイ・シーケンスはレベル 3 から開始します。週毎のダンプには、 ダンプするファイルシステム毎に、これも繰り返し使われる事になる 一定数のテープを使います。

何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、新品のテー プを導入すべきです。

環境変数

       TAPE

バックアップを読み取るデバイス。

RMT
リモートの rmt(8) プログラムのパス名。

RSH
rsh(1) でない場合のリモートシェルプログラムのパス名。

関連ファイル

       /dev/sa0

デフォルトのダンプテープユニット
/etc/dumpdates
ダンプの日付を記録するファイル (これは変更可能です。 −D オプションを参照してください)
/etc/fstab
ダンプテーブル : ファイルシステムと頻度を決めるファイル
/etc/group
operator
グループを検索する

関連項目

chflags(1), fstab(5), restore(8), rmt(8)

診断

詳しいメッセージがたくさん出ます。

正常時は終了コード 0 で終了します。開始時のエラーは終了コード 1 で、異常 終了は終了コード 3 で表されます。

バグ

32 個未満のファイルシステムからの読み取りエラーは無視されますが、すべての エラーは警告メッセージを生成します。これはちょっとした妥協です。現実に は、マウント中のパーティションをダンプするとき、 dump 実行中にファイルシ ステムが更新されると、読み取りエラーが生じ得ます。ダンプはしばしば cron(8) を使って人が居ない状況で行われますので、オペレータの介入を要する 仕事は dump を駄目にしてしまいます。この種の読み取りエラー発生時には書き 込まれたダンプテープには何も悪いところはありませんので、 dump を止める理 由はなにもありません。

各リール (ボリューム) ごとに新たなプロセスが作られ、リールを書き終った親 プロセスはテープ全体の書き込みが終るまで待っています。

dump ユーティリティの −W−w オプションは、 /etc/fstab にリストされてい ても、 dumpdates ファイルに記録のないファイルシステムについては報告しませ ん。

dump コマンドが、ダンプシーケンスについて知っていて、使い散らかしたテープ の使用履歴を管理でき、どのテープをマウントすれば良いかオペレータに教えて くれ、 restore(8) を実行するオペレータをもっと助けてくれたら、もっと使い やすいでしょうね。

セキュリティ的な歴史により、 dump ユーティリティは、 root 以外のユーザで リモートバックアップを行うことはできません。これは、 FreeBSD の今後のバー ジョンでは修正されるでしょう。現状では、(従来通り) setuid されていれば正 常に動作しますが、セキュリティ的なリスクを伴います。

歴史

dump ユーティリティは、 Version 6 AT&T UNIX から登場しました。

FreeBSD 10.0 March 1, 2002 FreeBSD 10.0

スポンサーリンク