PRIMECLUSTER Global File Services 説明書 4.2 (Solaris(TM) オペレーティング環境版)
目次 索引 前ページ次ページ

付録F リファレンスマニュアル> F.2 GFS 共用ファイルシステム専用管理コマンド

F.2.25 sfcrestore(1M) sfcdumpで作成されたバックアップからのリストア

◆形式

sfcrestore i|r|t|x[abdefhlmosvyLT] [archive_file] [factor] [e_opt] [dump_file] [n] [filename...]

◆機能説明

 sfcrestoresfcdump によって作成されたバックアップ媒体からのファイルのリストアを行います。sfcrestore の動作はキー引数によって制御されます。キーは 1 文字の機能文字( i, r, t または x )と、0 文字以上の機能修飾子 (文字) からなります。キー文字列には空白を含みません。機能修飾子の引数はキー文字列中の対応する機能修飾子と同じ順序でコマンド行に並べます。

 sfcrestore は GFS 共用ファイルシステム以外のファイルシステムでも動作します。GFS 共用ファイルシステム以外のファイルシステムにリストアした場合や、sfcrestoreufsrestore との関係については注意事項を参照してください。

◆オプション

[機能文字]

 以下の機能文字のどれか1つを指定します。

i

 対話式。媒体からディレクトリ情報を読み込んだ後、sfcrestore は対話式のインタフェースを起動し、そこで媒体中のディレクトリ階層を表示したり、展開するファイルを選択することができるようになります。利用できるコマンドについては後述の対話式のコマンドを参照してください。

r

 再帰。媒体の内容全体を現在のディレクトリ (ファイルシステムの最上位のディレクトリである必要があります) にリストアします。ファイルシステムを完全にリストアするには、この機能文字を使用してレベル0 のバックアップをリストアした後、それぞれの差分バックアップをリストアします。この機能文字は新しいファイルシステムからの完全リストア用ですが、媒体上にないファイルがファイルシステムに存在する場合、それらのファイルは削除されません。

t

 内容一覧。媒体中のファイル名を表示します。ファイル名 filename が指定されない場合は、ルート・ディレクトリが指定されたとみなされます。この結果、h 機能修飾子が指定されていない限りは媒体上のファイルが表示されます。内容一覧は媒体か、a 機能修飾子が指定された場合は指定したアーカイブファイルから読み込まれます。

x

 媒体からのファイル名指定による抽出。指定されたファイル名が媒体に書かれたディレクトリだった場合、h 機能修飾子が指定されていなければそのディレクトリが再帰的に抽出されます。所有権、更新時刻、モードは (可能であれば) リストアされます。ファイルが既に存在していた場合は上書きされ、警告が出力されます。ファイル名が指定されていない場合はルート・ディレクトリが指定されたとみなされます。この結果、h 機能修飾子が指定されていない場合は媒体上のすべてのファイルが抽出されます。

[機能修飾子]

a archive_file

 媒体からではなく archive_file から内容を読み込みます。この機能修飾子を t, i または x 機能文字と組み合わせて使用すると、媒体をマウントすることなく媒体上のファイルをチェックすることができます。x および対話式 (i) 機能文字と組み合わせて使用すると、ファイルを抽出する前にファイルが含まれている媒体のマウントを促すプロンプトを表示します。

b factor

 ブロック係数。テープ読込みのブロック係数を指定します。可変長の SCCIテープ装置では、データをデフォルトのブロック係数で書き込まない場合は、ブロック係数はテープに書いた時に使用した値と同じかそれより大きい値を使用する必要があります。そうでない場合、エラーとなります。テープのブロックは 512 バイトであることに注意してください。最大ブロック係数については使用しているテープドライバのマニュアルを参照してください。

d

 デバッグ出力をオンにします。

e e_opt

 ファイル拡張属性情報を持つファイルの扱いを指定します。リストア先のファイルシステムがファイル拡張属性情報をサポートしていない場合 (例えば UFS 形式のファイルシステムにリストアする場合) やファイル拡張属性情報を設定する条件を満たすことができない場合 (例えばエクステント属性情を設定しようとした場合にその要求を満たす空きエクステントがない場合) には、ファイル拡張属性情報を設定することができません。この機能修飾子ではこの場合の動作を指定します。e_opt として以下の値を指定することができます。
force
 ファイル拡張属性情報を設定できなかった場合はリストアが失敗します。
ignore
 ファイル拡張属性情報を一切無視します。
warn
 ファイル拡張属性情報を設定できなかった場合は警告を出力しますが、リストアを
続けます。
 この機能修飾子が省略された場合、デフォルトの動作は warn となります。

f dump_file

 リストア元のファイルとして /dev/rmt/0 のかわりに dump_file を使用します。一般に dump_file にはテープやフロッピーディスクを指定します。dump_file として '-' が指定された場合、sfcrestore は標準入力から読み込みます。これにより、sfcdump および sfcrestore をパイプラインで使用して以下のようにファイルシステムをコピーすることができます。
 # sfcdump 0f - /dev/sfdsk/gfs/rdsk/volume7 | ( cd /home; sfcrestore xf - )
 dump_file が "machine:device" という形式の場合、リストアは rmt(1M) を用いてネットワーク上の指定されたリモートマシンから行われます。sfcrestore は通常スーパーユーザ権限で実行されるため、リモートマシンの /.rhosts ファイルにローカルマシン名が記述されていなければなりません。dump_file が "user@machine:device" という形式の場合、sfcrestore はリモートマシン上の指定されたユーザとして実行を試みます。指定されたユーザはリモートマシン上に .rhosts ファイルを置き、ローカルマシンからこのコマンドを起動してリモートマシンにアクセスできるようになっていなければなりません。

h

 ディレクトリの下のファイルは対象とせず、対象のディレクトリだけを抽出または表示します。テープ上のディレクトリ構造の階層的な展開は行われません。

l (英小文字のエル)

 自動ロード。リストアが完了する前にテープの終わりに達した時に、ドライブをオフラインにして、テープドライブが再び準備ができるまで 2 分待ちます。これによりオートロード (スタックローダ) テープドライブが新しいテープに交換する機会ができます。2 分以内に準備ができれば処理が再開されます。準備ができなければ別のテープをロードするように促すプロンプトを表示し、待ち合わせます。

L string

 バックアップファイルのヘッダに現れるべきラベルを指定します。ラベルが一致しない場合、sfcrestore は診断情報を出力して終了します。

m

 ファイル名ではなくiノード番号により抽出し、パス名では作成しません。ファイルがバックアップの階層のどこにあるかにかかわらず、現在のディレクトリにリストアされ、iノード番号を使用した名前となります。この機能修飾子が有用なのは少数のファイルを抽出する場合です。

o (英小文字のオー)

 オフライン。リストアが完了したり、媒体の終わりに到達してテープを巻き戻した時に、ドライブをオフラインにします。フロッピーディスクの場合はイジェクトします。自動ロードされる8mmテープの場合には、自動的にテープを外します。これにより他プロセスが装置を使用し、不注意により媒体を上書きしてしまうのを防ぐことができます。

s n

 1つのテープ上に複数のバックアップファイルがある時に n 番目のファイルまでスキップします。
 例えば、
 # sfcrestore xfs /dev/rmt/0hn 5
とすると、バックアップの1番目の媒体を読んでいる時はテープ上の5番目のファイルに移動します。バックアップが2つ以上の媒体にまたがる場合は、"s n" にどんな値が指定されていても先頭を除く最初の媒体は位置 0 から始まるとみなされます。"s n" が指定された場合、バックアップ媒体はBOT (テープの先頭) に位置していなければなりません。さもないと内容一覧を読むための最初の位置合わせに失敗します。これは位置合わせが絶対位置合わせを使用するのではなく、n - 1 個のファイルをスキップして行われるからです。絶対位置合わせを使用しないのはある装置ではそれが非常に時間がかかるためです。

T timeout [hms]

 自動ロードの待ち合わせ時間を設定します。この機能修飾子は同時に l 機能修飾子が指定されていなければ無視されます。デフォルトの待ち時間は 2 分です。時間の単位を h (時間)、m (分)、s (秒) を付加して指定することができます。デフォルトでは分です。

v

 冗長表示。sfcrestore はリストアするファイルの種類と名前を表示します。

y

 テープのエラーが発生してもリストアを中断するかたずねません。sfcrestore は不良ブロックをスキップし、処理を続けるようにします。

[対話式コマンド]

 sfcrestoreでは i 機能文字を指定して起動した時は対話モードとなります。対話式コマンドはシェルと似ています。これらのコマンドは引数を取ることができ、デフォルトでは現在のディレクトリとなります。対話式コマンドには以下のものがあります。

add [filename]

 指定されたファイルやディレクトリを抽出リストに加えます。ディレクトリが指定された場合は、ディレクトリとその下のファイルが (再帰的に) 抽出リストに加えられます (ただし h 機能修飾子が指定された場合を除きます)。

cd directory

(バックアップファイル内で) ディレクトリを移動します。

delete [filename]

 現在のディレクトリまたは指定されたファイルやディレクトリを抽出リストから削除します。ディレクトリが指定された場合は、ディレクトリとその下のすべてのファイルが抽出リストから削除されます (ただし h 機能修飾子が指定された場合を除きます)。ディレクトリから大多数のファイルを抽出する場合には、ディレクトリを抽出リストに加え、除外する特定のファイルを削除するのが便利です。

extract

 媒体から抽出リストのすべてのファイルを抽出します。sfcrestore はどの媒体をマウントするかをたずねます。少数のファイルを抽出する素早い方法は最後の媒体から始め、最初の媒体へと向かうことです。"s n" がコマンド行で指定された場合、先頭の媒体では読み込み時に n 番目のファイルに自動的に位置合わせされます。

help

 使用可能なコマンドの要約を表示します。

ls [directory]

 指定したディレクトリまたは '.' (ピリオド) で表される現在のディレクトリの内容を表示します。ディレクトリは後ろに '/' (スラッシュ) がつきます。抽出対象のファイルは前に '*' (アスタリスク) がつきます。冗長表示が指定されている場合は、iノード番号も表示されます。

marked [directory]

 ls と同様ですが、抽出するよう指定されたファイルだけが出力される点が異なります。

paginate

 ls サブコマンド、marked サブコマンドからの出力のページングの有無を切り替えます。ページャとして、環境変数 PAGER で指定されたページャ、もしくはその環境変数が設定されていない場合は more(1) が使用されます。環境変数 PAGER にページャへの引数を空白で区切って指定することができます。

pwd

 現在のディレクトリをフルパスで出力します。

quit

 sfcrestore を即座に終了します。抽出リストが空でない場合も終了します。

setmodes

 "set owner/mode for '.' (ピリオド)" というプロンプトを出力します。y と入力すると、ファイルのリストア先である現在のディレクトリ '.' のモード (パーミッション、所有者、時刻) を、ファイルがバックアップされたファイルシステムのルート・ディレクトリのモードに設定します。通常これはファイルシステム全体をリストアする場合や、個々のファイルをバックアップした時と同じ場所にリストアする場合に行います。n と入力すると、現在のディレクトリのモードは変更されません。通常これはバックアップの一部をバックアップしたディレクトリ以外のディレクトリにリストアする場合に行います。

setpager command

 ページャを指定し、デフォルトのものまたは環境変数で指定されたもの代わりに使用します。command にはコマンド名自身に加え引数を指定することもできます。

verbose

 v 機能修飾子の状態を切り替えます。v 機能修飾子が有効である間 ls コマンドは iノード番号を出力します。また sfcrestore は抽出時にファイルの情報について出力します。

what

 媒体上のバックアップのヘッダを表示します。

◆オペランド

 以下のオペランドが指定できます。

filename

 リストアするファイル (またはディレクトリ) のパス名を指定します。h 機能修飾子が指定されていない場合は、そのディレクトリに含まれるファイル、そしてそのディレクトリに含まれるサブディレクトリとそれに含まれているファイルが (再帰的に) 対象となります。xt 機能文字とともに指定された場合は filename は最後に位置していなければなりません。

◆終了ステータス

 以下の終了ステータスが返されます。

0   正常終了しました。
1   エラーが発生しました。冗長メッセージが表示されます。

◆関連ファイル

/dev/rmt/0

 デフォルトのテープ装置です。

/tmp/rstdir*

 テープ上のディレクトリを含むファイルです。環境変数 TMPDIR で作成するディレクトリを変更することができます。

/tmp/rstmode*

 ディレクトリの所有者、モード、タイムスタンプを含むファイルです。環境変数 TMPDIR で作成するディレクトリを変更することができます。

./restoresymtable

 差分リストア間で渡される情報です。

◆環境変数

PAGER

 出力をページングするためのフィルタとして使用されるコマンドを指定します。この環境変数は使用されるオプションを指定するために使用することもできます。デフォルトのコマンドは more(1) です。

TMPDIR

 通常 sfcrestore は一時ファイルを /tmp に作成します。環境変数 TMPDIR を別のディレクトリに設定することで、作成するディレクトリを変更することができます (TMPDIR が有効なディレクトリでない場合、sfcrestore は /tmp を使用します)。

◆関連項目

sfcdump(1M).

"Solaris X Reference Manual Collection" の mkfs(1M), mount(1M), rmt(1M).

◆診断

 sfcrestore はオプション文字の誤りについてエラーメッセージを出力します。

 読込みエラーについてはエラーメッセージを出力します。y 機能修飾子が指定された場合、もしくはユーザが y と応答した場合は、sfcrestore は処理を続けようとします。

 バックアップが複数のテープにまたがる場合、sfcrestore はユーザにテープを替えるようたずねます。x または i 機能文字が指定されていた場合、sfcrestore はマウントする媒体をたずねます。s 機能修飾子が指定されていて、先頭の媒体がマウントされている場合、指定されたファイルまで自動的に位置合わせされます。

 sfcrestore は多くの整合性チェックを行います。多くのチェックは自明、もしくは「起こり得ない」ものです。一般的なエラーは以下のとおりです。

filename: not found on tape

 指定されたファイル名はテープディレクトリには存在しますが、そのファイルの実体は見つかりませんでした。ファイル検索中にテープの読込みエラーが発生するか、アクティブなファイルシステムから作成したバックアップを使用すると起こります。

expected next file inumber, got inumber

 ディレクトリになかったファイルが存在しています。アクティブなファイルシステムから作成したバックアップを使用している時に起こります。

Incremental tape too low

 差分リストア時に、前の差分テープより以前に書かれたテープまたは差分バックアップレベルが低すぎるテープがセットされました。

Incremental tape too high

 差分リストア時に、前の差分テープまででリストアしたところから始まらないテープまたは差分バックアップレベルが高すぎるテープがセットされました。

media read error: invalid argument

 データを書いた時に使用されたブロック係数より小さい値が読み込み時のブロック係数に指定されました。

Tape read error while restoring filename
Tape read error while skipping over inode number
Tape read error while trying to resynchronize
A tape read error has occurred

 1番目のメッセージが出力された場合は、その中身が部分的に不正になっている可能性が高いです。2番目または3番目のメッセージが出力された場合は、ファイルがテープから見つからなかったものの抽出されたファイルは壊れていません。

Incorrect tape label. Expected 'foo' got 'bar'

 L 機能修飾子が指定されましたが、指定された値がバックアップファイルのヘッダに記録されていたものと一致しませんでした。

resync restore, skipped num

 テープの読込みエラー後、sfcrestore は同期を取る必要がある場合があります。このメッセージはスキップされたブロック数を表示します。

◆注意事項


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006