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


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

  1. pscp – is utility for copying files in parallel to a number of hosts.
  2. prsync – is a utility for efficiently copying files to multiple hosts in parallel.
  3. pnuke – it helps to kills processes on multiple remote hosts in parallel.
  4. pslurp – it helps to copy files from multiple remote hosts to a central host in parallel.

ネットワーク上に複数のホストが存在するネットワーク環境で作業している場合、システム管理者は上記のツールが非常に役立つ場合があります。

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

pscpツールを使用するには、LinuxシステムにPSSHユーティリティをインストールする必要があります。PSSHのインストールについては、この記事を読むことができます。

  1. How to Install Pssh Tool to Execute Commands on Multiple Linux Servers

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

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

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

「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 switch used to read a hosts from a given file and location.
  2. -l switch reads a default username on all hosts that do not define a specific user.
  3. -A switch tells pscp ask for a password and send to ssh.
  4. -v switch is used to run pscp in verbose mode.

ディレクトリ全体をコピーする場合は、-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キーベースのパスワードなしのログイン設定が既にあるかのように試す価値があります。