これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド pdcp です。
プログラム:
NAME
pdcp-ファイルをホストのグループに並行してコピーします
rpdcp-(逆pdcp)ホストのグループからファイルを並行してコピーします
SYNOPSIS
pdcp [オプション] ... src [src2 ...] dest
rpdcp [オプション] ... src [src2 ...] dir
DESCRIPTION
pdcp の変種です rcp(1)コマンド。 ようではない rcp(1)、ファイルを単一にコピーします
リモートホスト、 pdcp ファイルを複数のリモートホストに並行してコピーできます。 しかし、 pdcp ありません
`` rname @ rhost:path ''の形式のファイルを認識しないため、すべてのソースファイルは
ローカルホストマシン上。 宛先ノードは、 pdcp コマンドライン
適切なターゲットノードリストオプションを使用する( OPTIONS 以下のセクション)。 各目的地
リストされているノードは pdcp コピーを成功させるためにインストールされます。
日時 pdcp SIGINT(ctrl-C)を受け取り、現在のスレッドのステータスを一覧表示します。 二番目の
XNUMX秒以内のSIGINTは、プログラムを終了します。 保留中のスレッドはによってキャンセルされる場合があります
ctrl-CからXNUMX秒以内にctrl-Zを発行します。 保留中のスレッドは、まだスレッド化されていないスレッドです。
開始されたか、リモートホストに接続中です。
いいね PDSH(1)、の機能 pdcp 動的にロード可能なもので補完される場合があります
モジュール。 の pdcp、モジュールは新しい接続プロトコルを提供する場合があります(標準を置き換えます)
rsh(1)プロトコル)、フィルタリングオプション(たとえば、ダウンしているホストを除く)、および/またはホスト
選択オプション(例 -a ローカル構成ファイルからすべてのノードを選択します)。 デフォルトでは、 pdcp
少なくともXNUMXつの「rcmd」モジュールをロードする必要があります(リモートコピー用のチャネルを提供するため)。
逆 PDCP
rpdcp 逆並列コピーを実行します。 ファイルをリモートホストにコピーするのではなく、ファイル
リモートホストから取得され、ローカルに保存されます。 取得したすべてのディレクトリまたはファイル
リモートホスト名がファイル名に追加されて保存されます。 宛先ファイル
このオプションを使用する場合は、ディレクトリである必要があります。
他の点では、 rpdcp ちょうど同じ pdcp、およびに関するさらなるステートメント pdcp in
このマニュアルは rpdcp.
RCMD モジュール
方法 pdcp リモートホストへの接続は、実行時にを使用して選択できます。 -R
オプション(を参照 OPTIONS 未満)。 この機能は、最終的に動的に実装されます
ロード可能なモジュールであるため、使用可能なオプションのリストはインストールとは異なる場合があります
インストールに。 いずれかを使用すると、現在使用可能なrcmdモジュールのリストが出力されます。
-h, -Vまたは -L オプション。 デフォルトのrcmdモジュールも表示されます -h と
-V オプション。
の一覧 rcmd 現在配布されているモジュール pdcp 続く。
rshBSDの内部のスレッドセーフな実装を使用します rcmd(3)を使用してコマンドを実行する
標準 rsh(1)プロトコル。
sshは次のバリアントを使用します ポペン(3)の複数のコピーを実行するには ssh(1)コマンド。
mrshこのモジュールは さん(1)リモートホストでジョブを実行するためのプロトコル。 mrsh
プロトコルはクレデンシャルベースの認証を使用し、割り当てる必要はありません
予約済みポート。 他の側面では、rshと同じように機能します。
krb4 krb4モジュールを使用すると、ユーザーはで認証した後にリモートコマンドを実行できます。
ケルベロス。 もちろん、リモートrshdデーモンはkerberizedする必要があります。
xcpu xcpuモジュールは、xcpuサービスを使用してリモートコマンドを実行します。
OPTIONS
利用可能なリスト pdcp オプションは、実行時に次のリストを補足することによって決定されます。
標準 pdcp ロードによって提供されるオプションを含むオプション rcmd と miscの モジュール。 いくつかの
場合によっては、モジュールによって提供されるオプションが互いに競合する可能性があります。 これらの場合、
モジュールには互換性がなく、最初にロードされたモジュールが優先されます。
スタンダード ターゲット ノードリスト オプション
-w ターゲット、..。
指定されたホストのリストをターゲットにするか、フィルタリングします。 他のノードでは使用しないでください
選択オプション(例 -a, -g、利用可能な場合)。 スペースは許可されていません
カンマ区切りのリスト。 の引数 ターゲット リストには通常のホストが含まれる場合があります
名前、ホストリスト形式のホストの範囲(を参照) ホストリスト 表現)、または単一
stdin上のホストのリストを読み取るための `-'文字。
ホストまたはホストリストの前に「-」文字が付いている場合、これらのホストは次のようになります。
明示的に除外されます。 引数の前に単一の `^ '文字が付いている場合は、
XNUMX行にXNUMXつずつ、ホストのリストを含むファイルへのパスと見なされます。 アイテムの場合
`/ '文字で始まり、正規表現と見なされます。
ホストのリストをフィルタリングします(正規表現引数は、オプションで末尾に付けることもできます)
別の「/」、例:/ node。* /)。 正規表現またはファイル名の引数も前に置くことができます
それらのホストを含める代わりに除外するマイナス `-'で。
ホストのリストの前に「user @」を付けて、リモートユーザー名を指定することもできます。
デフォルトよりも、または「rcmd_type:」で代替のrcmd接続タイプを指定します
これらのホスト。 一緒に使用する場合は、最初にrcmdタイプを指定する必要があります。
「ssh:user1 @ host0」は、sshを使用してユーザー「user0」としてhost1に接続します。
-x ホスト、ホスト、..。
指定されたホストを除外します。 他のターゲットノードと組み合わせて指定できます
などのリストオプション -a と -g (利用可能な場合)。 ホストリストは、次のように指定することもできます。
-x オプション(を参照してください ホストリスト 表現 以下のセクション)。 への引数 -x かもしれません
また、説明されているように、ファイル名( `^ ')と正規表現(' / ')文字が前に付きます
上記の場合、結果のホストは、それらがに与えられたかのように除外されます
-w 前にマイナスの `-'文字を付けます。
スタンダード pdcp オプション
-h 使用メニューを出力して終了します。 利用可能なrcmdモジュールのリストは、
使用法メッセージの終わり。
-q オプション値とターゲットノードリストを一覧表示し、アクションなしで終了します。
-b ctrl-Cステータス機能を無効にして、単一のctrl-Cが並列コピーを強制終了するようにします。 (バッチ
ファッション)
-r ディレクトリを再帰的にコピーします。
-p 変更時間とモードを保持します。
-e パス
リモートへのパスを明示的に指定する pdcp ローカルで実行されたものを使用する代わりにバイナリ
道。 環境変数PDSH_REMOTE_PDCP_PATHを介して設定することもできます。
-l user
このオプションは、承認を条件として、別のユーザーとしてファイルをコピーするために使用できます。
BSD rcmdの場合、これは、呼び出し元のユーザーとシステムがユーザーのにリストされている必要があることを意味します
.rhostsファイル(rootの場合でも)。
-t 秒
接続タイムアウトを設定します。 デフォルトは10秒です。
-f 数
同時リモートコピーの最大数をに設定します 数。 デフォルトは32です。
-R 名
rcmdモジュールをに設定します 名。 このオプションは、PDSH_RCMD_TYPEを介して設定することもできます。
環境変数。 使用可能なrcmdモジュールのリストは、次のいずれかを介して取得できます。
-h or -L オプション。
-M 名前、...
複数の場合 miscの モジュールはに同じオプションを提供します PDSH、最初のモジュール
初期化された「wins」以降のモジュールはロードされません。 NS -M オプションにより、
他のすべてのモジュールよりも先に強制的に初期化される、指定するモジュールのリスト。
事実上、競合することなくロードすることを保証します(競合しない限り)
お互い)。 このオプションは、PDSH_MISC_MODULES環境を介して設定することもできます
変数に保存します.
-L ロードされたすべての情報を一覧表示します pdcp モジュールと終了します。
-d SIGINTを受信したときに、より完全なスレッドステータスを含め、接続を表示します
完了したら、stderrのコマンド時間統計。
-V 出力 pdcp バージョン情報、現在ロードされているモジュールのリスト、および
出口。
ホストリスト 表現
上記のセクションで述べたように、 pdcp 一般的な形式のホスト名の範囲を受け入れます。
prefix [nm、lk、...]、ここで、n <mおよびl <kなど、の明示的なリストの代わりとして
ホスト。 この形式を正規表現の文字クラスと混同しないでください(また、
`` [] ''で示されます)。 たとえば、foo [19]はfoo1またはfoo9を表すのではなく、
縮退範囲を表します:foo19。
この範囲構文は、prefixNNネーミングを持つクラスターでの便宜のためにのみ意図されています
規則と範囲の指定は必要であると考えるべきではありません-リスト
foo1、foo9は、そのように指定することも、foo [1,9]の範囲で指定することもできます。
範囲の使用例を次に示します。
コピー /etc/hosts foo01、foo02、...、foo05に
pdcp -w foo [01-05] /etc/hosts の/ etc
コピー /etc/hosts foo7、foo9、foo10に
pdcp -w foo [7,9-10] /etc/hosts の/ etc
コピー /etc/hosts foo0、foo4、foo5に
pdcp -w foo [0-5] -x foo [1-3] /etc/hosts の/ etc
読者への注意として、一部のシェルはパターンの角かっこ( '['および ']')を解釈します
マッチング。 シェルによっては、範囲リストをで囲む必要がある場合があります
引用符。 たとえば、tcshでは、上記の最初の例は次のように実行する必要があります。
pdcp -w "foo [01-05]" /etc/hosts の/ etc
原点
Pdsh / pdcpは元々IBMの書き直しでした dsh(1)ジム・ガーリック[メール保護]>オン
LLNLのASCIBlue-Pacific IBMSPシステム。 現在、LLNLのLinuxクラスターでも使用されています。
制限
使用時 ssh リモート実行の場合、sshのstderrをリモートのstderrと折りたたむ
指図。 pdcpによって呼び出された場合、sshが確認を求めるプロンプトを表示することはできません。
ホストキーの変更、RSAキーが適切に構成されていない場合のパスワードの入力など。
最後に、接続タイムアウトは、基になるsshがsshでのみ調整可能です。
実装はそれをサポートし、pdshは正しいオプションを使用するように構築されています。
onworks.net サービスを使用してオンラインで pdcp を使用する