Pscp-使用单个Shell将文件传输/复制到多个Linux服务器


Pscp实用程序允许您通过一个命令使用单个终端将文件传输/复制到多个远程Linux服务器,该工具是Pssh(并行SSH工具)的一部分,它提供了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.

在网络上有多个主机的网络环境中工作时,系统管理员可能会发现上面列出的这些工具非常有用。

在本文中,我们将介绍一些有用的Pscp实用程序示例,这些示例用于将文件传输/复制到网络上的多个Linux主机。

要使用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密钥的无密码登录设置一样。