このトピックでは、光ディスクのコピー (CPYOPT) CL コマンドについて説明し、ユーザーが指定できる オプション・パラメーターの一部を紹介します。
CPYOPT コマンドは、光ディスク・ボリューム間で光ディスク・ファイルおよびディレクトリーをコピー
するために使用します。CPYOPT を使用すると、以下をコピーできます。ボリューム全体のすべてのファ イルとディレクトリー。ディレクトリーのすべてのファイルとサブディレクトリー。ディレクトリーのすべ てのファイル。単一のファイル。光ディスク・ボリュームには、*PRIMARY と *BACKUP の 2 つのタイ プがあります。*PRIMARY は、ユーザー・アプリケーションによって書き込める通常のボリューム・タイ プです。*BACKUP は、特殊な光ディスク・コマンドによってのみ書き込める特殊なボリューム・タイプ です。CPYOPT を使用して、以下のボリューム・タイプ間でファイルをコピーできます。
コピー元ボリューム コピー先ボリューム
*PRIMARY *PRIMARY
*PRIMARY *BACKUP
*BACKUP *PRIMARY
CPYOPT コマンドの詳細については、以下のリンクを参照してください。
キー・パラメーター:
コピーするファイルを選択するために指定できるパラメーターがいくつかあります。
パラメーターは、次のとおりです。
v コピーするファイルの選択 (SLTFILE) v サブディレクトリーのコピー (CPYSUBDIR) v 開始日時 (FROMTIME)
実際にファイルをコピーするには、上記の 3 つの要件のすべてを満たす必要があります。
CPYOPT を使用して光ディスク・ボリュームのバックアップを行うことができますが、バックアップの方
法としては推奨できません。CPYOPT はファイル・ベースで処理するため、多数のファイルをコピーする 場合、CPYOPT 要求の完了までに何時間も必要になる場合があることを覚えておいてください。ユーザー が指定するオプションも、コピー要求の実行時間の長さに影響を与えることがあります。この章の後方にあ る例を使用して、ご使用のオプションを比較し、それがコピー要求に与える影響を検討してください。
コピーするファイルの選択: コピーするファイルの選択 (SLTFILE) パラメーターは、コピーするファイル の選択に使用します。
v *CHANGED はデフォルト・オプションです。システムは、ソース・ファイルがすでにターゲット・ボリ
ューム上に存在するかどうかを判別します。存在する場合、システムはソース・ファイルが最後のコピ ー以降に変更された場合にのみ、ソース・ファイルをコピーします。ファイルが変更されたかどうか は、2 組の日時によって判別されます。つまり、ファイルが最後に変更された日時、またはファイル属 性が最後に変更された日時のいずれかです。光ディスクの表示 (DSPOPT) CL コマンドで
DATA(*FILATR) を指定すると、これらの日時を表示できます。
v *ALL は、システムがソース・ボリューム上のすべてのファイルをコピーすることを示します。システ ムは、ターゲット媒体上にすでに存在するファイルは、ソース・ボリュームからの新規コピーで置き換 えます。
v *NEW は、システムが現在ターゲット・ボリューム上に存在しないファイルのみをコピーすることを示 します。
ターゲット・ボリュームにファイルが含まれている場合、*CHANGED または *NEW オプションを選択す ると、結果的に CPYOPT 要求の実行時間が長くかかることがあります。これは、システムがソースとター ゲット・ボリュームの両方のファイルのリストを作成して比較する必要があるからです。ボリュームが何千 ものファイルを含んでいる場合、これを行うために必要な時間が過度になることがあります。
サブディレクトリーのコピー: サブディレクトリーのコピー (CPYSUBDIR) パラメーターは、指定のコピ ー元パスのサブディレクトリー内のファイルを処理するかどうかを指示するために使用します。オプション は、次のとおりです。
v *NO は、指定のコピー元パス内のファイルのみがコピーに適格であることを示します。これはデフォル ト・オプションです。
v *YES は、指定のコピー元パスのすべてのサブディレクトリー内のファイルがコピーに適格であることを 示します。サブディレクトリーが存在しない場合、システムはターゲット・ボリューム上にサブディレ クトリーを作成します。親ディレクトリー名は異なっても、新規作成されるサブディレクトリーは、ソ ース・ボリューム上で作成された名前と同じ名前になります。システムは、得られる新規パス名がパス
名の最大長を超えないことを確認するために、コピー操作の前に検査します。システムは、 1 つのディ レクトリーのサブディレクトリーを、同じボリューム上のそのディレクトリーのサブディレクトリーに コピーすることを防止します。
開始日時: システムは、FROMTIME パラメーターを使用して、作成日または変更日に基づいてファイル がコピーに適格であるかどうかを判別します。開始日時以降に作成、変更、または属性変更されたすべての ファイルがコピーに適格です。光ディスクの表示 (DSPOPT) CL コマンドで DATA(*FILATR) を指定する と、ファイルが最後に作成または変更された時期を調べることができます。デフォルト値の開始日
*BEGIN と開始時刻 *AVAIL は、すべてのファイルが開始日時の要件を満たすことを示します。開始日時
を指定すると、その日時以降に作成または変更されたファイルのみがコピーに適格であることを示します。
このパラメーターを使用すると、CPYOPT で処理する必要があるファイル数を大きく制限できます。これ はファイルを処理するために必要な時間を短縮します。このパラメーターと SLTFILE パラメーターを組み 合わせて使用すると、コピーの前に検査する必要があるファイル数を制限できます。指定された開始日時以
降の *CHANGED または *NEW ファイルのみを選択できます。
例: シナリオ 1 - ソース・ボリュームからすべてのファイルをコピーする。この例は、ソース・ボリュー
ム VOL001 から、現在はファイルやディレクトリーを何も含んでいないボリュームに、すべてのファイル
をコピーする方法を示します。システムは、ソース・ボリュームのすべてのサブディレクトリーを処理し、
ターゲット・ボリューム上にサブディレクトリーを作成して、すべてのファイルをコピーします。
> CPYOPT FROMVOL(VOL001) FROMPATH(/) TOVOL(CPYVOL001) SLTFILE(*ALL) CPYSUBDIR(*YES) CRTDIR(*YES)
シナリオ 2 - ソース・ボリュームから、最後のコピー要求以降のすべてのファイルをコピーする。この例 の場合、いくつかの異なるオプションがあり、処理に必要な時間の長さが異なることがあります。最初のオ プションは、シナリオ 1 と同じ要求を出しますが、異なるターゲット・ボリュームを使用します。システ ムは、すべてのファイルとディレクトリーを新規ターゲット・ボリュームにコピーします。
2 番目のオプションは、SLTFILE パラメーターで *CHANGED オプションを使用します。
> CPYOPT FROMVOL(VOL001) FROMPATH(/) TOVOL(CPYVOL001) SLTFILE(*CHANGED) CPYSUBDIR(*YES) CRTDIR(*YES)
現在ソースおよびターゲット媒体上にあるファイル数によっては、この要求は処理に長時間かかることがあ ります。最初に、ソース媒体とターゲット媒体上にあるすべてのファイルのリストを入手する必要がありま す。次に、ファイルを比較して、最後の CPYOPT 要求以降に変更されたファイルがあるかどうかを調べま す。その後で、システムは変更されたファイルのみをコピーします。
3 番目のオプションは、既存のファイルは変更されず、単にソース・ボリュームに追加されただけの場合 で、SLTFILE パラメーターで *NEW オプションを使用しています。
> CPYOPT FROMVOL(VOL001) FROMPATH(/) TOVOL(CPYVOL001) SLTFILE(*NEW) CPYSUBDIR(*YES) CRTDIR(*YES)
最初に、ソースおよびターゲット・ボリュームの両方にある、すべてのファイルのリストを作成する必要が あります。次に、ファイルを比較した後、新規ファイルをコピーします。
4 番目のオプションは、SLTFILE オプションの 1 つと開始日時の指定を組み合わせて使用します。
> CPYOPT FROMVOL(VOL001) FROMPATH(/) TOVOL(CPYVOL001) SLTFILE(*CHANGED) CPYSUBDIR(*YES) CRTDIR(*YES) FROMTIME(’04/01/99’ ’00:00:00’)
開始時刻を指定することにより、システムは、04/01/99 以降に作成または変更されたファイルのみをター ゲット・ボリュームにコピーします。
CPYOPT を使用したボリュームのバックアップ:
光ディスクのコピー (CPYOPT) コマンドを使用して、ボリュームの完全または部分コピーを行うことがで きます。
以下では、ターゲットが *PRIMARY または *BACKUP ボリュームの場合の CPYOPT コマンドの特別な 処理について説明します。以下のリストを参照して、コマンドの最良の使用法を決めてください。
v 完全または部分コピー。ファイル、ディレクトリー、すべてのサブディレクトリーを含むディレクトリ ー、またはボリューム全体をコピーできます。
v 増分コピー。前の CPYOPT 要求以降に変更されたものだけをコピーできます。
v ファイルを選択するために開始日を指定したコピー。指定日以降に作成または変更されたファイルのみ がコピーに適格です。
v ソース・ボリュームの階層構造をターゲット・ボリューム上に複製。ボリューム・タイプ *PRIMARY に対する CPYOPT 要件。ターゲット・ボリュームがタイプ *PRIMARY の場合、CPYOPT コマンドに は、次の固有の要件があります。
ボリューム・タイプ *PRIMARY に対する CPYOPT の要件: ターゲット・ボリュームがタイプ
*PRIMARY の場合、CPYOPT コマンドには、次の固有の要件があります。
v ソース・ボリュームは、タイプ *PRIMARY または *BACKUP のいずれかを使用できます。
v ターゲット・ボリュームは *PRIMARY なので、すべての API 要求と、ほとんどの光ディスク・コマン ドおよびユーティリティーが、ボリュームにアクセスできます。
v ユーティリティーおよびユーザー・プログラムは *PRIMARY ボリュームを更新できるため、ディレク トリーとファイルを無許可の変更や削除から保護する方法を決める必要があります。
v ターゲット・ボリュームには 1 つまたは複数の光ディスク *PRIMARY ボリュームの情報を含む場合が あります。単一のターゲット・ボリューム上で複数のボリュームを管理する容易な方法は、新規の第 1 レベル・ディレクトリーを持つことです。その場合、ディレクトリー名にはソースの 1 次ボリュームの 名前を使用できます。
v ボリュームまたはディレクトリーが最後にバックアップされた時期を追跡する方法が必要です。これを 自動的に行うために、CPYOPT コマンドを使用します。
v ターゲット・ボリュームの階層構造は、光ディスク *PRIMARY ボリュームの階層構造と同一である必 要はありません。
v ターゲット・ボリューム上のファイルの作成日時 (および、変更日時) は、光ディスク 1 次ボリューム 上の対応するファイルとは異なります。ターゲット・ボリューム上のファイルの作成日時は、ファイル が書き込まれた日付になります。
v ターゲット *PRIMARY ボリューム上のディレクトリーとファイルは、直接使用できます。アプリケー
ションを *PRIMARY 光ディスク・ボリュームにコピーして戻す必要はありません。
v システムがソース・ボリューム上の新規ファイルのみをターゲット・ボリュームにコピーすることを要 求できます。ソース・ボリューム上のファイルが変更されず、新規ファイルが作成されただけの場合、
これは便利です。
ボリューム・タイプ *BACKUP に対する CPYOPT 要件: ターゲット・ボリュームがタイプ *BACKUP の場合、光ディスクのコピー (CPYOPT) コマンドには、次のような固有の要件があります。
v ソース・ボリュームは、タイプ *PRIMARY でなければなりません。