dcp コマンド

目的

複数のノードおよびハードウェア・デバイスでコマンドを並行して実行します。

構文

dcp [-h] [-V] [-q] [-a] [--all-nodes context_list] [-A] [--all-devices context_list] [-n node_list] [-N nodegroups] [-d device_list] [-D devicegroups] [-C context] [-f fanout] [-l user_ID] [-o node_options] [-O device_options] [-p] [-P] [-Q] [-r node_remote_copy] [--device-rcp device_remote_copy] [-R] [-t timeout] [-X env_list] [-T] [-v] source_file... target_path

説明

dcp コマンドは、リモート側のターゲット・ノード、ハードウェア・デバイス、あるいは両方との間で並行してファイルをコピーします。 ターゲットは、複数のコンテキストから選択できます。 コンテキストは、ノードおよびデバイスの定義を含むターゲット・データベース (NIM など) です。 dcp コマンドは、指定されたノードまたはデバイスごとにリモート・コピー・コマンドを発行します。 ファイルは、ターゲットからプルされると、コピーされた source_file 名にリモート・ノード名またはリモート・デバイス名が付加されて target_path に配置されます。 /usr/bin/rcp コマンドは、構文およびセキュリティーのモデルです。 dcp コマンドは、DSM 分散シェル・ユーティリティーです。 dsh の構成および環境設定は、dcp の動作に影響を与えます。 詳しくは、 dsh コマンドを参照してください。

パラメーター

項目 説明
ターゲット・コンテクスト ターゲット・コンテキストの指定は、dcp コマンドと dsh コマンドで同じです。 dcp コマンドのコンテキストの指定について詳しくは、 dsh のマニュアル・ページのターゲット・コンテキストを参照してください。
ターゲット仕様 ターゲットの指定は、dcp コマンドと dsh コマンドで同じです。 dcp コマンドのターゲットの指定について詳しくは、dsh マニュアル・ページを参照してください。
ターゲット・リスト ターゲット・リスト構文は、dcp コマンドと dsh コマンドで同じです。
リモート・ユーザー リモート・コピー・コマンドに対して user_ID を指定できます。 リモート・ユーザーの指定は、dcp コマンドと dsh コマンドで同じです。
リモートコピーコマンド dcp コマンドは、構成可能なリモート・コピー・コマンドを使用して、リモート・ターゲットでリモート・コマンドを実行します。 AIX® リモート・シェル rcp ・コマンド、 OpenSSH scp コマンド、および rsync コマンドのサポートが明示的に提供されています。 ノード・ターゲットについては、次の優先順位でパラメーターを使用して、リモート・コピー・コマンドが決定されます。
  1. -r フラグ
  2. DCP_NODE_RCP 環境変数
  3. /usr/bin/rcp コマンド
デバイス・ターゲットについては、次の優先順位でリモート・シェルが決定されます。
  1. --device-rcp フラグ
  2. DCP_DEVICE_RCP 環境変数
  3. ターゲット・コンテキストによって定義されたデフォルト・デバイスのリモート・コピー・コマンド。
  4. デバイス・ターゲット用に定義された RemoteCopyCmd 属性。
リモート・コピー・コマンドは、次の構文を使用して、コマンド・ライン・フラグまたは環境変数と一緒に指定されます。
[context:]path[,[context:]path]... 
ここで、path は、リモート・コピー・コマンドへのパスであり、context: はファイルのコピーに使用するリモート・コピー・コマンドのコンテキストを示します。 コンテキストを指定せずにリモート・コピー・コマンド・パスを指定すると、そのパスは、リストで明示的なリモート・コピー・コマンド・パスが指定されていない他のすべてのコンテキストに適用されます。 リモート・コピー・コマンド・オプションは、コマンド・ライン・フラグまたは環境変数を使用して構成できます。 ノード・ターゲットについては、リモート・コピー・コマンド・オプションは、次の優先順位で決定されます。
  1. -o フラグ
  2. DCP_NODE_OPTS 環境変数
デバイス・ターゲットについては、次の優先順位でリモート・コピー・コマンド・オプションが決定されます。
  1. -O フラグ
  2. DCP_DEVICE_OPTS 環境変数
リモート・コピー・コマンド・オプションは、次の構文を使用して指定されます。
[context:]"options"[, [context:]"options"]...
ここで、options は、リモート・コピー・コマンドのオプションであり、context: はファイルをコピーするのに使用されるリモート・シェル・オプションのコンテキストを示します。 コンテキストを指定せずにオプションを指定すると、そのオプションは、リストで明示的なオプションが指定されていないその他すべてのコンテキストに適用されます。 オプションは、dcp オプションと区別するために二重引用符 ("") で囲んで指定する必要があります。
コマンド実行 -f フラグまたは DSH_FANOUT 環境変数を使用して指定できる並行リモート・コピー・コマンド・プロセス (ファンアウト) を指定します。 ファンアウトは、並行実行できるリモート・シェル・コマンドの数によってのみ制限されます。 管理サーバーで DSH_FANOUT 値を使用して試し、さらに高い値が適切であるかどうかを調べることができます。 リモート・コピー・コマンド実行のタイムアウト値は、-t フラグまたは DSH_TIMEOUT 環境変数を使用して指定できます。 いずれかのリモート・ターゲットがタイムアウト値の時間内に応答しない場合、dcp コマンドはエラー・メッセージを表示して終了します。 -T フラグは、dcp コマンド実行に関する診断トレース情報を提供します。 デフォルトの設定値とリモート・ターゲットに対して実行された実際のリモート・コピー・コマンドが表示されます。 dcp コマンドは、-Q フラグを使用してサイレント実行することができます。その場合、ターゲットの標準出力または標準エラーは表示されません。
この変数のパラメーターを以下に示します。
ソース・ファイル ...
ターゲットとの間でコピーされるファイルの完全パスを指定します。 複数のファイルを指定できます。 -R フラグと同時に使用する場合は、単一のディレクトリーのみを指定できます。 -P フラグと同時に使用する場合は、単一のファイルのみを指定できます。
target_path
1 つまたは複数の source_file ファイルのコピー先となるターゲット上の完全パスを指定します。 -P フラグが指定されている場合、target_path は、コピーされるファイルのローカル・ホスト上のロケーションです。 リモート・ファイル・ディレクトリー構造が target_path の下に再作成され、target_path ディレクトリー内のコピーされた source_file 名にリモート・ターゲット名が付加されます。

キーワード

項目 説明
-a デフォルトのコンテキストで定義されたすべてのノードをターゲット・リストに組み込みます。 デフォルトのコンテキストは、-C フラグまたは DSH_CONTEXT 環境変数を使用して設定できます。
-A デフォルトのコンテキストで定義されたすべてのデバイスをターゲット・リストに組み込みます。 デフォルトのコンテキストは、-C フラグまたは DSH_CONTEXT 環境変数を使用して設定できます。 このフラグは HMC では使用不可になっています。
--all-devices コンテキスト・リスト context_list にリストされているコンテキストで定義されたすべてのデバイスをターゲット・リストに組み込みます。 デフォルトのコンテキストは、このリストに暗黙的に組み込まれていません。 このフラグは HMC では使用不可になっています。
--all-nodes コンテキスト・リスト context_list にリストされているコンテキストで定義されたすべてのノードをターゲット・リストに組み込みます。 デフォルトのコンテキストは、このリストに暗黙的に組み込まれていません。
-C デバイス・ターゲットとの間でファイルをコピーするために使用されるリモート・コピー・コマンドの絶対パスを指定します。 特定のコンテキストのリモート・コピー・コマンドは、パスの前に context: を含めることによって定義できます。
--contextコンテキスト dcp コマンドがターゲット名を解決するときに使用するデフォルトのコンテキストを指定します。 context 値は、/opt/ibm/sysmgt/dsm/pm/Context ディレクトリー内の有効なコンテキスト拡張モジュールに対応している必要があります。
--device-rcp リモート・コピーの 監査サブシステムを始動します。 device_remote_copy の構文は次のとおりです。
[context:]path[,[context:]path]... 
このフラグは HMC では使用不可になっています。 このキーワードは構成ファイル内の命令を読み取り、デバイス・ターゲットのリモート・シェルを判別します。
-d | --devices デバイス・リスト ターゲット・リストに組み込むデバイス・ターゲットのリストを指定します。 device_list の構文は次のとおりです。
[context:] [user_ID@] device_name[,\
[context:][user_ID@]device_name]...
このフラグは HMC では使用不可になっています。
-D | --devicegroups デバイス・グループ devicegroups リストで指定されているデバイス・グループで定義されたすべてのデバイスをターゲット・リストに組み込みます。 devicegroups の構文は次のとおりです。
[context:] [user_ID@]devicegroup[,\
[context:] [user_ID@]devicegroup]...
このフラグは HMC では使用不可になっています。
-f | --fanout ファンアウト 並行実行中のリモート・シェル・プロセスの最大数に対するファンアウト値を指定します。 ファンアウト値 1 を指定することによって、順次実行を指定できます。 このフラグを省略した場合、デフォルトのファンアウト値 64 が使用されます。
-l | --user ユーザー ID リモート・コピー実行に使用するリモート・ユーザー名を指定します。
-h | --help コマンドの使用法の情報を表示します。
-n | --nodes ノード・リスト ターゲット・リストに組み込むノード・ターゲットのリストを指定します。 node_list の構文は次のとおりです。
[context:] [user_ID@]node_name[,\
[context:] [user_ID@]node_name]...
-o | --node-options ノード・オプション ノード・ターゲットに対するリモート・コピー・コマンドを受け渡すオプションを指定します。 オプションは、dcp コマンド・フラグと区別するために二重引用符で囲んで指定する必要があります。 特定のコンテキストのノードに対するオプションは、オプション・リストの前に context: を含めることによって定義できます。 device_options の構文は次のとおりです。
[context:]"options"[, [context:]"options"]...
-N | --nodegroups ノード・グループ nodegroups リストで指定されているノード・グループで定義されたすべてのノードをターゲット・リストに組み込みます。 nodegroups の構文は次のとおりです。
[context:] [user_ID@]nodegroup[,\
[context:] [user_ID@]nodegroup]...
-O --device-options デバイス・オプション デバイス・ターゲットに対するリモート・コピー・コマンドを受け渡すオプションを指定します。 オプションは、dcp コマンド・フラグと区別するために二重引用符で囲んで指定する必要があります。 特定のコンテキストのデバイスに対するオプションは、オプション・リストの前に context: を含めることによって定義できます。 device_options の構文は次のとおりです。
[context:]"options"[,[context:]"options"]...
このフラグは HMC では使用不可になっています。
-p | --preserve 構成済みのリモート・コピー・コマンドによってインプリメントされたソース・ファイルの特性を保持します。
-P | --pull ターゲットからファイルをプル (コピー) して、それらをローカル・ホスト上の target_path ディレクトリーに配置します。 target_path はディレクトリーでなければなりません。 リモート・マシンからプルされたファイルは、元のファイルと区別するために、ファイル名に _target が付加されます。 -P フラグが -R フラグと同時に使用される場合、_target はディレクトリーに付加されます。 dcp -P | --pull コマンドの呼び出しごとに 1 つのファイルのみを、指定されたターゲットからプルできます。
-Q ターゲットの標準出力や標準エラーが表示されないよう、dcp コマンドをサイレント実行します。
-q | --show-config すべての dsh ユーティリティー・コマンドに関連する現行の環境設定を表示します。 このフラグには、現在インストール済みの有効なすべてのコンテキストに関するすべての環境変数および設定の値が含まれます。 設定値のソース・コンテキストを示すために、それぞれの設定値の前に context: が付けられます。
-r | --node-rcp ノード・リモート・コピー ノード・ターゲットとの間でファイルをコピーするために使用されるリモート・コピー・コマンドの絶対パスを指定します。 特定のコンテキストのリモート・コピー・コマンドは、パスの前に context: を含めることによって定義できます。 node_remote_copy の構文は次のとおりです。
[context:]path[,[context:]path]...
パスrsync が含まれる場合、rsync コマンドがリモート・コピーを実行することが想定されます。
-R | --recursive ローカル・ディレクトリーからリモート・ターゲットにファイルを再帰的にコピーします。あるいは、-P フラグ とともに指定された場合は、リモート・ディレクトリーからローカル・ホストにファイルを再帰的にプル (コピー) します。 source_file パラメーターを使用して単一のソース・ディレクトリーを指定できます。
-t | --timeout タイムアウト リモート・コピー・コマンドが各リモート・ターゲットで完了するのを待機する時間を秒単位で指定します。 ターゲットがタイムアウト値の時間内に応答しない場合、dcp コマンドはエラー・メッセージを表示し、そのリモート・ターゲットに対するリモート・コピー・プロセスを終了します。 指定されない場合、dcp コマンドは、リモート・コピー・プロセスが各ターゲットで完了するまで無制限に待機します。
-T | --trace トレース・モードを活動化します。 dcp コマンドの診断メッセージを標準出力に送信します。
-v | --verify リモート・コマンドをターゲットで実行する前に、各ターゲットを検査します。 ターゲットが応答しない場合、そのターゲットに対するリモート・コマンドの実行は取り消されます。
-X env_list dcp コマンド環境変数を無視します。 このオプションでは、無視してはならない環境変数名のコンマ区切りリストである引数が、受け入れられます。 このオプションに対する引数がない場合、あるいは引数が空ストリングである場合、すべての dcp 環境変数が受け入れられません。
-V | --version dcp コマンドの環境変数のバージョン情報を表示します。
DSH_CONTEXT
ターゲットを解決するときに使用するデフォルトのコンテキストを指定します。 この変数は、-C フラグによって指定変更されます。
DSH_DEVICE_LIST
デバイス・ターゲットのリストを含むファイルを指定します。 この変数は、-d フラグによって指定変更されます。 この環境変数は HMC では無視されます。
DCP_DEVICE_OPTS
デバイス・ターゲットだけに、リモート・シェル・コマンドに使用されるオプションが指定されます。 この変数は、-O フラグによって指定変更されます。 この環境変数は HMC では無視されます。
DCP_DEVICE_RCP
デバイス・ターゲットとの間でファイルをコピーするために使用されるリモート・コピー・コマンドの絶対パスを指定します。 この変数は、--device-rcp フラグによって指定変更されます。 この環境変数は HMC では無視されます。
DSH_FANOUT
ファンアウト値を指定します。 この変数は、-f フラグによって指定変更されます。
DCP_NODE_OPTS
ノード・ターゲットだけに、リモート・コピー・コマンドに使用されるオプションが指定されます。 この変数は、-o フラグによって指定変更されます。
DCP_NODE_RCP
ノード・ターゲットとの間でファイルをコピーするために使用されるリモート・コマンドの絶対パスを指定します。 この変数は、-r フラグによって指定変更されます。
DSH_NODE_LIST
ノード・ターゲットのリストを含むファイルを指定します。 この変数は、-n フラグによって指定変更されます。 この変数は、WCOLL. DSH_NODEGROUP_PATH 変数と置き換わりました。 DSH_NODE_LIST 変数は、dsh コンテキストのノード・グループ・ファイルを含むディレクトリーのコロンで区切られたリストも指定します。 dsh コンテキストで -a フラグが指定されている場合、パス内のすべてのノード・グループ・ファイルから固有のノード名のリストが収集されます。
DSH_TIMEOUT
各リモート・ターゲットからの出力を待機する時間を秒単位で指定します。 この変数は、-t フラグによって指定変更されます。
RSYNC_RSH
この rsync 環境変数は、rsync コマンドのトランスポートとして使用されるリモート・シェルを指定します。 リモート・コピー・コマンドの終了値がゼロ以外の場合、各リモート・コピー・コマンド実行の終了状況および終了値は、dcp コマンドからのメッセージに表示されます。 リモート・コピー・コマンドからのゼロ以外の戻りコードは、リモート・コピー中にエラーが発生したことを示します。 リモート・コピー・コマンドでエラーが発生した場合、そのターゲットに対するリモート・コピーの実行はバイパスされます。 dcp コマンドがエラーなしに実行され、すべてのリモート・コピー・コマンドが終了コード 0 で完了した場合、dcp コマンドの終了コードは 0 です。 dcp コマンドに内部エラーが発生するか、リモート・コピー・コマンドが正常に完了しない場合、dcp コマンドの終了値は 0 より大きくなります。 終了値は、失敗したリモート・コピー・コマンド実行の一連のインスタンスごとに 1 ずつ増加します。

セキュリティー: dcp コマンドにセキュリティー構成要件はありません。 すべてのリモート・コマンド・セキュリティー要件 (構成、認証、および許可) は、dcp コマンド用に構成された基礎となるリモート・コマンドによって課せられます。 ローカル・ホストとリモート・ターゲットの間で認証および許可が構成されることが想定されます。 対話式パスワード・プロンプトはサポートされません。パスワード・プロンプトが出された場合、リモート・ターゲットに対して実行はバイパスされ、エラーが表示されます。 リモート環境およびリモート・シェル・コマンドに関連するセキュリティー構成は、ユーザー定義です。 Kerberos バージョン 5 を使用するリモート・コマンドとして /usr/bin/rcp が構成される場合、最初に Kerberos kinit コマンドを実行してチケット許可チケットを取得する必要があります。 また、Kerberos プリンシパルがターゲットのリモート user&csqg;s のホーム・ディレクトリーの .k5login ファイル内にあることを確認する必要があります。

  1. /tmp/etc/hosts ファイルをローカル・ホストから node3node4node5上の /etc ディレクトリー、および NIM コンテキスト内の device16 上のユーザー gregb にコピーするには、次のコマンドを入力します。
    dcp -n node3-node5 -d NIM:gregb@device16 /tmp/etc/hosts /etc:
  2. /etc/hosts ファイルをクラスター内のすべての管理対象ノードからローカル・ホストの /tmp/hosts.dir ディレクトリーにコピーするには、次のコマンドを入力します。
    dcp -aP /etc/hosts /tmp/hosts.dir
    ターゲットの名前を指定するサフィックスが各ファイル名に付加されます。 /tmp/hosts.dir ディレクトリーの内容は次のようになります。
         
    hosts._node1 hosts._node4 hosts._node7
    hosts._node2 hosts._node5 hosts._node8
    hosts._node3 hosts._node6  
  3. NIM コンテキスト内の NodeGroup1 および dsh コンテキスト内の DeviceGroup4 にあるすべてのターゲットから /var/log/testlogdir ディレクトリーをコピーし、 12のファンアウトを使用して、各ディレクトリーを /var/log._targetとしてローカル・ホストに保存するには、次のコマンドを入力します。
    dcp -C DSH -N NIM:NodeGroup1 -D DeviceGroup 4 -f 12 \ -RP /var/log/testlogdir /var/log
  4. rsync コマンドを使用して /localnode/smallfile および /tmp/bigfilenode1 上の /tmp にコピーするには、以下のコマンドを入力します。
    RSYNC_RSH=/usr/bin/ssh; dcp -r /usr/bin/rsync -o "-z" \ -n node1 /localnode/smallfile /tmp/bigfile /tmp
    このコマンドは、'rsyncに環境変数RSYNC_RSH、'rsyncに'-zフラグを使用する。
  5. /etc/hosts ファイルをローカル・ホストからクラスター内のすべてのノードにコピーして、すべての dcp 環境変数を無視するには、次のコマンドを入力します。
    dcp -X -a /etc/hosts /etc/hosts
  6. /etc/hostsファイルを「node1」と「node2」からローカル・ホスト上の 「/tmp/hosts.dirディレクトリにコピーし、DCP_NODE_OPTS以外のすべての 「dcp環境変数を無視するには、以下のコマンドを入力する:
    dcp -n node1,node2 -P -X ’DCP_NODE_OPTS’ /etc/hosts /tmp/hosts.dir