假设我有 50 台服务器运行相同的名称屏幕会话,并且所有服务器都具有相同的密码。
有没有一种方法可以将所有服务器 IP 放入一个带有密码的 bash 文件中,并使用 PSSH 登录并同时恢复(加入现有)所有服务器中的屏幕会话并使用 PSSH 执行相同的命令?
答案1
是的。不过,由于他们都有相同的凭据,我认为您想要的东西可以通过 更好地实现pdsh
。
您需要确保已在服务器之间设置 ssh,以便无需密码即可登录。pdsh
如果您还没有该软件包,请安装它。安装后,您可以执行以下操作:
pdsh -R exec -w ^hosts.txt screen -D -R
请注意,我现在不知道您要使用的实际屏幕命令。但是,您可以并行执行任何命令、脚本或命令列表。上面的代码将同时执行到 host.txt 文件中定义的主机列表。
pdsh
是管理服务器组的绝佳工具,您需要在其中并行发出命令。看着那(这手册页因为pdsh
有很多选择。值得注意的是PDSH_SSH_ARGS_APPEND
变量,这将允许您附加普通 ssh 命令中的选项。