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

付録B リファレンスマニュアル> B.2 GFSローカルファイルシステム専用コマンド

B.2.15 sfxrestore(1M) sfxdumpで作成されたバックアップからのリストア

◆形式

sfxrestore i|r|t|x [abcdefhmsvy] [archive_file] [factor] [e_opt] [dump_file] [n] [filename...]

◆機能説明

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

 sfxrestore は GFS ローカルファイルシステム以外のファイルシステムでも動作します。GFS ローカルファイルシステム以外のファイルシステムにリストアした場合や、sfxrestoreufsrestore(1M) との関係については注意事項を参照してください。

◆オプション

 以下のオプションが指定できます。

[機能文字]

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

i

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

r

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

t

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

x

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

[機能修飾子]

a archive_file

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

b factor

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

d

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

e e_opt

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

f dump_file

 リストア元のファイルとして /dev/rmt/0 のかわりに dump_file を使用します。一般に dump_file にはテープやフロッピーディスクを指定します。dump_file に '-' が指定された場合、sfxrestore は標準入力から読み込みます。これにより、sfxdump(1M) および sfxrestore をパイプラインで使用して以下のようにファイルシステムをコピーすることができます。

# sfxdump 0f - /dev/sfdsk/gfs/rdsk/vol0007 | ( cd /home; sfxrestore xf - )


 dump_file が "machine:device" という形式の場合、リストアは rmt(1M) を用いてネットワーク上の指定されたリモートマシンから行われます。sfxrestore は通常スーパーユーザ権限で実行されるため、リモートマシンの /.rhosts ファイルにローカルマシン名が記述されていなければなりません。dump_file が "user@system:device" という形式の場合、sfxrestore はリモートマシン上の指定されたユーザとして実行を試みます。指定されたユーザはリモートマシン上に .rhosts ファイルを置き、ローカルマシンからこのコマンドを起動してリモートマシンにアクセスできるようになっていなければなりません。

h

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

l (英小文字のエル)

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

L string

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

m

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

o (英小文字のオー)

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

s n

 1つのテープ上に複数のバックアップファイルがある時に n 番目のファイルまでスキップします。例えば

# sfxrestore 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

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

y

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

[対話式コマンド]

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

add [filename]

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

cd directory

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

delete [filename]

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

extract

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

help

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

ls [directory]

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

marked [directory]

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

paginate

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

pwd

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

quit

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

setmodes

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

setpager command

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

verbose

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

what

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

◆オペランド

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

filename

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

◆終了ステータス

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

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

◆関連ファイル

/dev/rmt/0

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

/tmp/rstdir*

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

/tmp/rstmode*

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

./restoresymtable

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

◆環境変数

PAGER

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

TMPDIR

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

◆関連項目

sfxdump(1M).

more(1), mkfs(1M), mount(1M), rmt(1M).

◆診断

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

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

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

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

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 inumber

Tape read error while trying to resynchronize

A tape read error has occurred

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

resync restore, skipped num

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

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

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

◆注意事項

 sfxrestore はアクティブなファイルシステムから作成したバックアップからは不正な内容のファイルをリストアする可能性があります。

 フルリストア後にはレベル 0 バックアップを行う必要があります。それは sfxrestore がユーザモードで動作するため、i ノード割付けについて制御できないからです。つまり sfxrestore はファイルの内容に変更がない場合であっても i ノード割付けを変えてしまいます。したがって新しいファイル割付けを反映したディレクトリ一覧を得るために、フルバックアップを行い、その後の差分バックアップが正しく行われるようにしなければなりません。

 sfxrestore では internal quotas ファイルのリストアは行われません。quota 機能を利用していたファイルシステムをリストアする場合は、sfxquotadm(1M)-i オプション指定で実行して external quotas ファイルの内容を internal quotas ファイルに反映させる必要があります。sfxquotadm(1M) の詳細については sfxquotadm(1M) のリファレンスマニュアルを参照してください。

 2 ギガバイトを超えるファイルを、2 ギガバイトを超えるファイルを扱えないファイルシステムにリストアしようとすると sfxrestore はエラー終了します。

 sfxrestoreufsrestore(1M) と機能的に互換性がありますが、sfxdump(1M)ufsdump(1M) が作成するバックアップデータの形式は異なります。このため ufsdump(1M) により作成されたバックアップデータを、sfxrestore を用いてリストアすることはできません。同様に、sfxdump(1M) により作成されたバックアップデータを、ufsrestore(1M) を用いてリストアすることはできません。

 UFS やエクステント属性情報をサポートしないファイルシステムにリストアした場合、エクステント属性情報は失われます。また、ACL をサポートしないファイルシステムにリストアした場合、ACL の情報は失われます。


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

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