Solaris 移行ガイド

ファイルのバックアップと復元

この節では、SunOS 4.x と SunOS 5.6 間のバックアップと復元コマンドの変更点と、ufsdump, ufsrestoreddtar、および cpio コマンドの使用方法について説明します。

SunOS 4.x は、ファイルをバックアップおよび復元するためのユーティリティ dumprestoretarcpioddbar そしてアンバンドルの Backup CoPilot プログラムをサポートしています。このリリースは、bar と Backup CoPilot を除くユーティリティのすべてをサポートしています。SunOS 4.x の bar ファイルは、SunOS 5.6 システムで復元することができますが、新しい bar ファイルを作成することはできません。 dump(8)restore(8) コマンドは、ufsdump(1M)ufsrestore(1M) に名前が変更されました。SunOS 4.x の dump コマンドで作成されたファイルは、SunOS 5.6 システム上に ufsrestore で復元できます。

SunOS 5.6 ソフトウェアにはファイルシステムをコピーするための 2 つのユーティリティ volcopy(1M)labelit(1M) が追加されました。

ufsdump コマンド

ufsdump コマンドは、SunOS 4.x の dump コマンドと同じコマンド構文を使用します。ufsdump表 9-15 のオプションも使用できます。

表 9-15 dump コマンドで使用できない ufsdump コマンドのオプション

オプション 

機能 

-l

自動ロード。(ダンプを完了する前に) テープの終端に達したら、ドライブをオフラインにして、テープドライブが再び準備できるまで最高 2 分間待つ。これによって、自動ロード (スタックローダ) テープドライブに新しいテープをロードする時間を与える。2 分以内にドライブが準備できたらロードを続ける。2 分待っても準備ができない場合は、通常どおりオペレータに他のテープをロードするよう要求して待つ。 

-o

オフライン。テープまたはフロッピーディスクが終了する (ダンプが完了するか、媒体の終わりに達する) と、ドライブをオフラインにする。フロッピーディスクドライブの場合は、フロッピーディスクをイジェクトする。テープドライブの場合は、テープを巻き戻す。これは別のプロセスがドライブを使用し、誤ってデータを変換してしまわないようにするためである。 

-S

ダンプの大きさを見積る。ダンプするのに必要なスペースの合計を求める。そして、ダンプの見積りサイズをバイト数で出力する。これは、増分バックアップにもっとも有効である。 

dump と異なり、ufsdump は媒体の終端を検出できるため、-s サイズオプションを使用してダンププログラムに媒体の終端に達する前に次のテープに移らせる必要はありません。ただし、restore コマンドの古いバージョンとの互換性を確保するために、ufsdump では -s オプションを使用できます。

ufsdump は現在では媒体の終端を検出できますが、-s オプションで媒体の大きさを指定しない限り、ダンプに必要なフロッピーディスクやテープの数を予測する方法はありません。したがって、媒体の大きさを指定しない限り、バックアップの開始時に表示されるメッセージは、必要なフロッピーディスクやテープの数を表示しません。

-w-W オプションは、SunOS 5.6 では多少異なります。SunOS 4.x では、これらのオプションは、/etc/fstab ファイルに指定されたバックアップ間隔に従って、バックアップのスケジュールが行われたすべてのファイルシステムを表示しました。SunOS 5.6 でこれに相当するファイルである /etc/vfstab には、バックアップ間隔を指定する手段がないため、これらのオプションは各ファイルシステムが毎日バックアップされるものと仮定しています。したがってこれらのオプションは、その日のうちにバックアップされていないファイルシステムをすべて表示します。

ネットワークでバックアップを実行するときは (ローカルファイルシステムをリモートテープドライブへバックアップする)、テープドライブを備えたシステムに適したデバイス命名規則を使用します。テープドライブを備えたシステムが SunOS 5.6 システムの場合、デバイス命名規則に従ってテープドライブを識別します。それ以外の場合、SunOS 4.x の規則に従います。

ufsrestore コマンド

SunOS 5.6 の ufsrestore コマンドは、SunOS 4.x の restore コマンドに似ています。SunOS 4.x の dump コマンドで作成した古いバックアップはすべて復元できます。ただし例外があり、フロッピーディスクから、複数のボリュームのバックアップを復元することはできません。restore を起動するバックアップスクリプトがある場合は、ufsrestore を起動するスクリプトに変更してください。

dd コマンド

SunOS 4.x の dd コマンドでは、サイズの接尾辞 -w (word の -w) は、サイズ単位が 4 バイトであることを意味します。SunOS 5.6 の dd コマンドでは、-w は 2 バイト単位であることを意味します。さらに、SunOS 5.6 では、-unblock-block 変換オプションをサポートしています。

tarcpio コマンド

tarcpio コマンドはバイナリ以外のフォーマットを使用するため、これらのコマンドは、SVR4 の実装間でデータ交換が可能な唯一のユーティリティです。ufsdumpdd などの他のバックアップユーティリティは、ベンダに固有のもので、ある SVR4 の実装で正常に動作しても別の SVR4 でうまく動作するかどうかは保証されません。

tar コマンドはこのリリースでは変更されていないため、SunOS 4.x コマンドと同じオプションとコマンド構文を使用できます。しかし、SunOS 5.6 ソフトウェアのデバイス命名方法が変更されているため、tarfile (または、device) 引数が影響を受けます。-f 関数修飾子を使用するときは、デバイス引数を /dev/rmt/unit として指定します。ここで、unit はテープドライブ番号と密度です。表 9-16 は、テープデバイス名のテープドライブ密度を表す文字を示します。

表 9-16 テープデバイス名のテープドライブ密度

密度 

説明 

指定なし 

デフォルトの「適切な」 (最高) 密度 

低密度 

中密度 

高密度 

圧縮 

超高密度 

tar コマンドでは、/dev/rmt8 をデフォルト出力デバイスとして使用しません。-f 修飾子を使用せず、 TAPE 環境変数が設定されていないときには、tar コマンドは /etc/default/tar ファイルに設定されたデフォルトを使用します。

SunOS 5.6 の cpio コマンドは、SunOS 4.x のオプションとコマンド構文をサポートします。cpio は、表 9-17 に示す多くの新しいオプションを使用できるようにするため拡張されました。

表 9-17 追加された cpio オプション

オプション 

オプションで使用できるコマンド 

説明 

-A

cpio -o

アーカイブにファイルを追加する。 

-k

cpio -i

壊れたファイルヘッダと検出した入出力エラーをスキップする。このオプションは壊れた、または順序通りでない媒体からファイルをコピーする。 

-L

cpio -o または cpio -p

シンボリックリンクをたどる。 

-V

cpio -i, cpio -o または cpio -p

特殊な冗長表示。読み取った、または書き込んだ各ファイルに対してドットを表示する。このオプションは、ファイル名を表示しないで、cpio が動作中であることを保証する。

-C bufsize

cpio -i または cpio -o

bufsize で指定するバイト数単位で、入出力をレコードに分割する。ここで、bufsize は正の整数。-C または -B を指定しないと、デフォルトのバッファサイズは 512 バイト。

-E filename

cpio -i

アーカイブから抽出するファイル名を含むファイルを指定し入力する。 

-H header

cpio -i または cpio -o

header で指定するフォーマットのヘッダ情報を読み取るか、または書き込む。header には、bar (読み取り専用)、

crcCRCodctarTARustarUSTAR のいずれかを指定できる。

-I filename

cpio -i

入力アーカイブとして filename を読み取る。

-M message

cpio -i -I filename または cpio -o -O filename

媒体を切り替えるときに使用するメッセージを定義する。 

-O filename

cpio -o

出力を filename へリダイレクトする。

-R userid

cpio -i または cpio -p

各ファイルの所有権とグループ情報を userid に再度割り当てる。


注 -

cpio による実行では、-i (コピーイン)、-o (コピーアウト)、または -p (パス) の 3 つのオプションの内のどれか 1 つだけを指定する必要あります。