ウェブサイト検索

Pscp - 単一のシェルを使用して複数の Linux サーバーにファイルを転送/コピーする


Pscp ユーティリティを使用すると、1 つのコマンドで 1 つの端末を使用して複数のリモート Linux サーバーにファイルを転送/コピーできます。このツールは Pssh (パラレル SSH ツール) の一部です。 OpenSSH の並列バージョンと、次のような他の同様のツールを提供します。

  1. pscp – 多数のホストに並行してファイルをコピーするためのユーティリティです。
  2. prsync – ファイルを複数のホストに並行して効率的にコピーするためのユーティリティです。
  3. pnuke – 複数のリモート ホスト上のプロセスを並行して強制終了するのに役立ちます。
  4. pslurp – 複数のリモート ホストから中央ホストにファイルを並行してコピーするのに役立ちます。

ネットワーク上に複数のホストが存在するネットワーク環境で作業する場合、システム管理者は上記のツールが非常に便利であると感じるかもしれません。

この記事では、 ネットワーク上の複数の Linux ホストにファイルを転送/ コピーするためのPscp ユーティリティの役立つ例をいくつか見ていきます。

pscp ツールを使用するには、Linux システムに PSSH ユーティリティをインストールする必要があります。PSSH のインストールについては、この記事を参照してください。

  1. Pssh ツールをインストールして複数の Linux サーバーでコマンドを実行する方法

これらのツールで使用されるさまざまなオプションは、特定のユーティリティの特定の機能に関連するいくつかのオプションを除いて、ほぼすべて同じです。

Pscp を使用して複数の Linux サーバーにファイルを転送/コピーする方法

pscp を使用する場合は、サーバーへの接続に必要な Linux サーバーの IP アドレスの数と SSH ポート番号を含む別のファイルを作成する必要があります。

複数の Linux サーバーにファイルをコピーする

myscphosts.txt」という新しいファイルを作成し、図に示すように、Linux ホストの IP アドレスと SSH ポート番号 (デフォルトは 22) のリストを追加しましょう。

192.168.0.3:22
192.168.0.9:22

ファイルにホストを追加したら、次のコマンドを使用して、ローカル マシンから /tmp ディレクトリ下の複数の Linux ホストにファイルをコピーします。

pscp -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av wine-1.7.55.tar.bz2 /tmp/
サンプル出力
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22

上記コマンドで使用するオプションについて説明します。

  1. -h スイッチは、指定されたファイルと場所からホストを読み取るために使用されます。
  2. -l スイッチは、特定のユーザーを定義していないすべてのホスト上のデフォルトのユーザー名を読み取ります。
  3. -A スイッチは、pscp にパスワードを要求し、ssh に送信するように指示します。
  4. -v スイッチは、pscp を冗長モードで実行するために使用されます。

ディレクトリを複数の Linux サーバーにコピーする

ディレクトリ全体をコピーしたい場合は、-r オプションを使用します。これにより、示されているようにディレクトリ全体が再帰的にコピーされます。

pscp -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
OR
pscp.pssh -h myscphosts.txt -l tecmint -Av -r Android\ Games/ /tmp/
サンプル出力
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 17:48:25 [SUCCESS] 192.168.0.3:22
[2] 17:48:35 [SUCCESS] 192.168.0.9:22

pscp の手動入力ページを表示するか、pscp --help コマンドを使用してヘルプを求めることができます。

結論

このツールは、複数の Linux システムを制御しており、SSH キーベースのパスワードなしのログイン設定がすでに設定されている場合と同様に、試してみる価値があります。