Compaq OpenVMS
システム管理者マニュアル


前へ 次へ 目次 索引


11.13.3 ファイルの比較

BACKUP には,セーブ・セットとディスク・ファイルを比較したり,ディスク・ファイル同士を比較したりする機能もあります。コピー,保存,または復元の後で,ファイルまたはボリュームの整合性をチェックしたい場合は,比較機能を使用してください。たとえば,セーブ・セットを元のファイルと比較したり,ファイルやボリュームのコピーを元のファイルと比較したりすることができます。

注意

BACKUP はブロック単位でファイルを処理するため,BACKUP 以外の機能で作成したファイルを比較すると,外見上は同じであっても,ファイルの不一致エラーになることがあります。

作業方法

BACKUP を使用して比較を行うには,次の 2 つの方法があります。


  1. 次は,テープ上のセーブ・セットとディスク上のファイルを比較している例である。2MAR1555.BCK セーブ・セットの内容と [LYKINS] ディレクトリの内容を比較している。


    $ BACKUP/COMPARE MTA0:2MAR1555.BCK [LYKINS]
    

  2. 次は,ディスク上のファイル,UPLIFT.EXE;4 と UPLIFT.EXE;3 を比較している。ブロック 16 が一致しないことが分かる。


    $ BACKUP/COMPARE UPLIFT.EXE;3 UPLIFT.EXE;4
    %BACKUP-E-VERIFYERR, verification error for block 16 of
     WRKD$:[LYKINS]UPLIFT.EXE;4
    

  3. 2 つの Files--11 ボリュームのすべての内容を比較したい場合は,次の例に示すようにイメージ比較を行う。


    $ BACKUP/IMAGE/COMPARE DBA1: DBA2:
    

  4. 物理セーブ・セットと Files--11 ボリュームを比較したい場合は,次の例に示すように物理比較を行う。物理比較では,すべてのディスクをフォーリン・ボリュームとしてマウントしておく必要がある。


    $ MOUNT/FOREIGN DBA2:
    $ BACKUP/PHYSICAL/COMPARE MIA0:PHYSBACK.BCK DBA2:
    

  5. 次は,コピーと比較を組み合せている例である。


    $ BACKUP/VERIFY/LOG FRED.DAT [FRIENDS]OLDFRED.DAT
    %BACKUP-S-CREATED, created DISK$:[FRIENDS]OLDFRED.DAT;3
    %BACKUP-S-COMPARED, compared DISK$:[FRIENDS]OLDFRED.DAT;3
    

11.13.4 BACKUP ジャーナル・ファイルの作成と一覧出力

BACKUP を使用した処理の記録を取っておきたい場合は,ジャーナル・ファイルを作成します。BACKUP ジャーナル・ファイルには, BACKUP の保存や,個々の処理で保存されたファイル指定情報が含まれます。

作業方法

ジャーナル・ファイルを作成する場合は,BACKUP の保存で /JOURNAL[=ファイル指定] 修飾子を使用します。

また BACKUP ジャーナル・ファイルの内容の一覧を取りたい場合は,次の形式で BACKUP コマンドを入力します。


BACKUP/LIST[= ファイル指定 ]/JOURNAL[= ファイル指定 ] 

BACKUP/LIST/JOURNAL コマンドに入力指定や出力指定を行うことはできません。/LIST コマンド修飾子のファイル指定が省略された場合, BACKUP はターミナルに出力を行います。また,/JOURNAL コマンド修飾子のファイル指定が省略された場合は,省略時の BACKUP ジャーナル・ファイル名の SYS$DISK:[]BACKUP.BJL が使用されます。

BACKUP ジャーナル・ファイルの作成と一覧出力については,『Compaq OpenVMS システム管理ユーティリティ・リファレンス・マニュアル』の /JOURNAL 修飾子を参照してください。


ここでは,BACKUP ジャーナル・ファイルを作成して,その内容を一覧出力する例を紹介します。


$ BACKUP/JOURNAL/LOG/IMAGE  DRA2: MIA0:3OCT.FUL
%BACKUP-S-COPIED, copied DRA2:[COLLINS]ALPHA.DAT;4
%BACKUP-S-COPIED, copied DRA2:[COLLINS]EDTINI.EDT;5
. 
. 
. 
%BACKUP-I-RESUME, resuming operation on volume 2
%BACKUP-I-READYWRITE, mount volume 2 on _MIA0: for writing
Press return when ready: [Return]
%BACKUP-S-COPIED, copied DRA2:[LANE]MAIL.MAI;1
%BACKUP-S-COPIED, copied DRA2:[LANE]MEMO.RNO;5
. 
. 
. 
$ BACKUP/JOURNAL/LIST
Listing of BACKUP journal
Journal file _DB2:[SYSMGR]BACKUP.BJL;1 on 3-OCT-2000 00:40:56.36
Save set 3OCT.FUL created on 3-OCT-2000 00:40:56.36
Volume number 1, volume label 3OCT01
 
         [COLLINS]ALPHA.DAT;4
         [COLLINS]EDTINI.EDT;5
         [COLLINS]LOGIN.COM;46
         [COLLINS]LOGIN.COM;45
         [COLLINS]MAIL.MAI;1
         [COLLINS]MAR.DIR;1
         [COLLINS.MAR]GETJPI.EXE;9
         [COLLINS.MAR]GETJPI.LIS;14
                   .
                   .
         [LANE]LES.MAI;1
                   .
                   .
Save set 3OCT.FUL created on 3-OCT-2000 00:40:56.36
Volume number 2, volume label 3OCT02
          
          [LANE]MAIL.MAI;1
          [LANE]MEMO.RNO;5
          [LANE]MEMO.RNO;4
                   .
                   .
          [WALTERS.VI]KD.RNO;52
 
End of BACKUP journal

11.14 ファイルとディレクトリの復元

BACKUP の復元機能は,セーブ・セットを読み取り,それを元の状態に戻します。復元を行うことによって,重要なファイルを削除したり,ディスクのすべての内容を壊したりといったことがよくあります。したがって,操作は十分注意して行ってください。 BACKUP は,復元したセーブ・セットの内容を指定された場所に書き込みます。

ディスク全体の復元については,後述の 第 11.16 節 で説明します。

作業方法

ファイルを復元する場合は,次の形式で BACKUP コマンドを使用します。


BACKUP   セーブ・セット指定 [/SAVE_SET] - 
   /SELECT=[ ディレクトリ ...]   出力指定:[ ディレクトリ ...] 

セーブ・セットがディスクまたはディスケット上にある場合は, /SAVE_SET 修飾子を使用してください。/SELECT 修飾子には,復元したいファイルを具体的に指定します。

セーブ・セットが複数の磁気テープまたは順編成ディスク・ボリュームにまたがる場合は,セーブ・セットの任意のボリュームから復元および比較を始めることができます。ただし,/IMAGE 修飾子を使用してセーブ・セットを復元する場合は,必ず最初のボリュームから処理を始めます。これは,イメージ復元がすべてのファイルをボリュームまたはボリューム・セットに復元するためです。イメージ復元か比較を行うときに,セーブ・セットの最初のボリューム以外のテープを指定すると,次のメッセージが表示されます。


%BACKUP-W-NOT1STVOL, tape 'name' is not the start of a save set

/LOG 修飾子を指定すると,ファイルの復元の進行状況を監視することができます。大きなセーブ・セットから少量のファイルだけ復元したい場合は,目的のファイルの復元を終えた時点で Ctrl/Y を押し,処理を終了してください。


  1. USER1:[WORK.SEPT]INVOICES.DAT というファイルを誤って削除してしまったため,前に保存しておいた NIGHTLY.BCK というセーブ・セットからファイルを復元する。


    $ BACKUP
    _From: MUA0:NIGHTLY.BCK/SELECT=[WORK.SEPT]INVOICES.DAT
    _To: USER1:[WORK.SEPT]INVOICES.DAT
    

  2. 次の例に示すように,ワイルドカード文字を使用して一度に複数のファイルを復元することもできる。


    $ BACKUP/LOG
    _From: MUA0:NIGHTLY.BCK/SELECT=[WORK.SEPT]INVOICES*.*
    _To: USER1:[WORK.SEPT]INVOICES*.*
    %BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_01.TXT;1 
    %BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_02.TXT;1 
    %BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_03.TXT;1 
    %BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_04.TXT;1 
    %BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_05.TXT;1 
    %BACKUP-S-CREATED, created USER1:[WORK.SEPT]INVOICES_06.TXT;1
       .
       .
       .
    


    /LOG 修飾子が指定されているため,復元したファイルのファイル指定情報が表示される。

  3. 次の例では,NOV12SAVE.BCK という磁気テープ・セーブ・セットから [LYKINS] ディレクトリのサブディレクトリにファイルを復元している。


    $ BACKUP TAPE:NOV12SAVE.BCK [LYKINS...]
    

  4. セーブ・セットから特定の 1 つのファイルを復元したい場合は,入力セーブ・セット修飾子の /SELECT を使用する。たとえば, [LYKINS.GLENDO] ディレクトリのファイル STRAT1.DAT を誤って削除してしまったと仮定する。このファイルは,以前に NOV2SAVE.BCK というセーブ・セットに保存していた。BACKUP を使用して, STRAT1.DAT ファイルを同じディレクトリに復元し,続いて DIRECTORY コマンドを使用して,ファイルが正しく [LYKINS.GLENDO] サブディレクトリに復元されたか確認する。


    $ BACKUP
    _From: MIA0:NOV2SAVE.BCK/SELECT=[LYKINS.GLENDO]STRAT1.DAT;5
    _To: STRAT1.DAT;5
    $ DIRECTORY STRAT1.DAT
    Directory [LYKINS.GLENDO]
     
    STRAT1.DAT;5
     
    Total of 1 file.
    $
    

  5. たとえば,[REPORTS] というディレクトリのすべての内容を削除したと仮定する。このディレクトリには,次に示すサブディレクトリが含まれていたと仮定する。


    $ SET DEFAULT [REPORTS]
    $ DIRECTORY *.DIR
    Directory USER3:[REPORTS] 
     
    INTERNAL.DIR             2 
    PUBLIC.DIR               5 
    SUMMARIES.DIR            1 
    TEST.DIR                 3 
    WEEKLY.DIR               2 
     
    Total of 5 files, 13 blocks.
    $
    


    これらのディレクトリとサブディレクトリのバックアップ・セーブ・セットを作成していた場合は,次のコマンドを使用して,それらを復元することができる。


    $ BACKUP MUA0:MAY-10.BCK/SELECT=[REPORTS...] USER3:[REPORTS...]
    


    すなわち,このコマンドは,[REPORTS] ディレクトリとそのサブディレクトリの [.INTERNAL],[.PUBLIC], [.SUMMARIES],[.TEST],[.WEEKLY] のすべてのファイルを復元する。

  6. 次のコマンドは,NOV12SAVE.BCK という磁気テープ・セーブ・セットに含まれているすべてのファイルを,元のディレクトリ・ツリーに復元している例である。


    $ BACKUP TAPE:NOV12SAVE.BCK/REWIND [*...]
    


    /REWIND 修飾子は,復元を行う前にテープの始まりまでテープを巻き戻すよう BACKUP に指示する修飾子である。これにより,セーブ・セットが現在のテープ位置より前に位置していても,正しい復元が可能になる。

11.14.1 深いディレクトリ構造内のファイルへのアクセス

BACKUP は,最高 32 レベルの深さのディレクトリ構造にあるファイルにアクセスできます。BACKUP は,以前は深いディレクトリ (9 レベル以上) にあった BACKUP のセーブ・セット内で,ファイルを選択することもできます。ただし ODS-S ディスク上では,最高 8 レベルの深さのディレクトリから,ファイルを復元できます。次の例では,深さ 12 レベルの深いディレクトリ構造を復元します。


$ BACKUP MTA1:T.BCK/SAV/SELECT=[A.B.C.D.E.F.G.H.I.J.K.L]*.* - 
 DISK:[DIR]*.*;* 

11.15 ユーザ・ディスクのバックアップ

この節では,ディスクとテープに対する追加型バックアップとイメージ・バックアップについて説明します。

注意

ユーザ・ディスクをバックアップする場合は,メニュー・システム (OpenVMS VAX オペレーティング・システム CD-ROM のブート時に表示されるもの) を使用しないでください。メニュー・システムは,システム・ディスクをバックアップする場合にだけ使用してください。

また,VAX システム上で 大規模なユーザ・ディスクのバックアップを行うと, BACKUP にページングが必要となり,そのために操作が失敗する場合があります。このような事態が生じた場合は,オンラインの BACKUP を使用して VAX ユーザ・ディスクのバックアップを行ってください。

11.15.1 ユーザ・ディスクをバックアップする前に

ユーザ・ディスクのバックアップは,ログインしている会話型ユーザが存在せず,かつアプリケーションが動作していない状態で行うようにしてください。これは,保存中にオープンしているファイルを見つけると,エラー・メッセージが出され,そのファイルのコピーが 行われなくなる ためです。また,BACKUP はディレクトリを検索しますから,ファイルの作成や削除などのディレクトリ操作が行われていると,ファイルがバックアップ対象から除外されることがあります。

注意

ディスクで初めてのバックアップなら,通常の追加型バックアップを行う前に,BACKUP/IMAGE/RECORD コマンドでイメージ・バックアップを行います。イメージ・バックアップは,ディスク全体のコピーを保存しながら,保存した各ファイルにマークを付けます。その後に実施する通常の追加型バックアップは,既にイメージ・バックアップが行われていることを前提としているため,新しいファイルや変更されたファイルを保存します。

最初にイメージ・バックアップが行われていない場合には,追加型バックアップで必要以上にファイルを保存して,確実に追加型の復元ができるようにします。

後述の 第 11.18.3 項 で説明するように, /IGONRE=INTERLOCK 修飾子を指定することによって,オープンしているファイルを保存するよう BACKUP に指示することができます。ただし,アプリケーションが書き込みを行っていた場合,このようにして保存したファイルには矛盾するデータが含まれることがあります。 BACKUP は,次のいずれかの場合にメッセージを表示します。

ただし,BACKUP のファイル読み取り終了時に,遠隔ノードでファイルが書き込みのためにアクセスされた場合には,メッセージは表示されません。これは,BACKUP がそのアクセスを検出できないからです。

指定されたバージョンのファイルが既に存在していたら,BACKUP は次のエラー・メッセージを表示します。


RMS-E-FEX, file already exists, not superseded 

作業方法

ユーザがログインしている場合は,ディスクのバックアップを行う旨を各ユーザに通知してください。OPER 特権を持っている場合は,次のように REPLY/ALL コマンドを使用して,一度にすべてのユーザに通知することができます。


$ REPLY/ALL "System Backup About to Begin -- Open Files Will Not Be Backed Up"

このコマンドが入力されると,システムの各会話型ターミナルには次のメッセージが表示されます。


Reply received on MYNODE from user SYSTEM at VTA28:   23:35:11 
System Backup About to Begin -- Open Files Will Not Be Backed Up 

11.15.2 テープへのイメージ・バックアップ

第 11.2 節 で説明したように,ディスクのイメージ・バックアップでは,そのディスクのすべてのファイルの論理的なコピーが作成されます。このバックアップは,ファイルがオープンしているときの問題を考慮して,システムに会話型ユーザが存在しない状態で行ってください ( 第 11.15.1 項 参照)。また,システムの性能に影響することがありますから,バックアップは,システムが最も空いているときに行うのが最適です。いくつかのプロセス・パラメータとシステム・パラメータに適切な値を設定することにより,バックアップを効率良く行うことができます ( 第 11.7 節 参照)。

作業方法

テープにイメージ・バックアップを行う場合は,次の形式で BACKUP コマンドを使用します。


BACKUP/IMAGE [/RECORD]   入力装置 - 
   出力指定 [/LABEL=ラベル] [/REWIND] 

/IMAGE 修飾子は,このバックアップがイメージ・バックアップであることを示します。/RECORD 修飾子は任意であり,指定された場合は,バックアップした各ファイルのファイル・ヘッダ・レコードにそのときの日時を記録します。将来,追加型バックアップを行う場合は,必ずこの /RECORD 修飾子を指定してください。 入力装置には,バックアップするディスクの装置を指定します。ファイルは指定しないでください。 /REWIND 修飾子は任意であり,テープを初期化する場合は指定します。/LABEL 修飾子は,テープのラベルを指定するときに使用します。


  1. 次は,ワークステーションのディスクのイメージ・バックアップを作成している例である。ディスクが DKA100: で,テープ・カートリッジ・デバイスが MKB100: とすると,イメージ・バックアップは,次のコマンドを使用して行うことができる。


    $ INITIALIZE MKB100: WKLY(1)
    $ MOUNT DKA100: DISK$1(2)
    %MOUNT-I-MOUNTED, DISK$1 mounted on _DKA100:
    $ BACKUP/IMAGE/RECORD/VERIFY
    _From: DKA100:
    _To: MKB100:FULL02.SAV/LABEL=WKLY(3)
    %BACKUP-I-STARTVERIFY, starting verification pass
    


    この例の番号を振ったコマンドはそれぞれ次のことを行う。

    1. MKB100: のテープを初期化し,ラベルとして WKLY を書き込む。

    2. ディスク DKA100: をマウントする。BACKUP は自動的にテープをマウントする。

    3. ディスク DKA100: のすべての内容を MKB100 のセーブ・セット FULL02.SAV にバックアップする。 /IMAGE 修飾子は,このバックアップがイメージ・バックアップであることを示し,/RECORD 修飾子は,バックアップした各ファイルのファイル・ヘッダ・レコードにそのときの日時を記録する。 /VERIFY 修飾子を指定しているので,BACKUP は,ファイルをボリュームに書き込んでから,出力指定装置の内容と入力指定装置の内容を比較する。/LABEL 修飾子は,テープのラベルを指示する。


前へ 次へ 目次 索引