Pscp - 使用单个 Shell 将文件传输/复制到多个 Linux 服务器
Pscp 实用程序允许您使用单个终端通过一个命令将文件传输/复制到多个远程 Linux 服务器,该工具是 Pssh(并行 SSH 工具)的一部分,它是提供 OpenSSH 的并行版本和其他类似工具,例如:
- pscp – 是将文件并行复制到多个主机的实用程序。
- prsync – 是一个用于高效地将文件并行复制到多个主机的实用程序。
- pnuke – 它有助于并行终止多个远程主机上的进程。
- pslurp – 它有助于将文件从多个远程主机并行复制到中央主机。
当在网络上有多个主机的网络环境中工作时,系统管理员可能会发现上面列出的这些工具非常有用。
在本文中,我们将了解 Pscp 实用程序的一些有用示例,用于将文件传输/复制到网络上的多个 Linux 主机。
要使用pscp工具,您需要在Linux系统上安装PSSH实用程序,有关PSSH的安装,您可以阅读这篇文章。
- 如何安装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
有关上述命令中使用的选项的说明。
- -h 开关用于从给定文件和位置读取主机。
- -l 开关读取所有未定义特定用户的主机上的默认用户名。
- -A 开关告诉 pscp 请求密码并发送到 ssh。
- -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 密钥的无密码登录设置一样。