假设我有50个服务器运行相同的名称屏幕会话,所有服务器都有相同的密码。
有没有一种方法可以将所有服务器IP放在一个带有密码的bash文件中,并使用PSSH登录,同时在所有服务器上恢复(连接现有的)屏幕会话,并使用PSSH执行相同的命令?
发布于 2018-03-06 12:02:22
是。尽管如此,由于它们都具有相同的凭据,我认为通过pdsh更好地实现您想要的目标。
您需要确保在服务器之间设置ssh,这样您就可以在没有密码的情况下登录。如果您还没有安装pdsh包,请安装它。一旦安装完毕,您就可以执行如下操作:
pdsh -R exec -w ^hosts.txt screen -D -R请注意,我现在不想使用实际的屏幕命令。但是,您可以并行执行任何命令、脚本或命令列表。上面的内容将同时执行到host.txt文件中定义的主机列表中。
pdsh是管理服务器组的一个很好的工具,在这里您需要并行地发出命令。看看手册页 for pdsh,有很多选项。需要注意的一个很好的例子是PDSH_SSH_ARGS_APPEND变量,这将使您可以从常规ssh命令中添加选项。
https://unix.stackexchange.com/questions/428479
复制相似问题