Pscp - 使用单个 Shell 将文件传输/复制到多个 Linux 服务器
Pscp实用程序允许您使用单个终端通过一个命令将文件传输/复制到多个远程 Linux 服务器,此工具是Pssh (并行 SSH 工具)的一部分,它提供 OpenSSH 和其他类似工具的并行版本,例如:
- pscp – 是一种用于将文件并行复制到多个主机的实用程序。
- prsync – 是一种用于高效地将文件并行复制到多个主机的实用程序。
- pnuke — 它有助于并行终止多个远程主机上的进程。
- pslurp — 它有助于将文件从多个远程主机并行复制到中央主机。
在网络上有多个主机的网络环境中工作时,系统管理员可能会发现上面列出的这些工具非常有用。
在本文中,我们将介绍一些使用Pscp实用程序将文件传输/复制到网络上的多个 Linux 主机的有用示例。
要使用pscp工具,您需要在 Linux 系统上安装 PSSH 实用程序,有关 PSSH 的安装,您可以阅读这篇文章。
除了与给定实用程序的特定功能相关的少数选项外,这些工具使用的几乎所有不同选项都是相同的。
如何使用 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 example -Av wine-1.7.55.tar.bz2 /tmp/ OR # pscp.pssh -h myscphosts.txt -l example -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 example -Av -r Android\ Games/ /tmp/ OR # pscp.pssh -h myscphosts.txt -l example -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 密钥的无密码登录设置,那么此工具值得尝试。