寻找使用 ssh 在多个远程主机上别名命令的包

寻找使用 ssh 在多个远程主机上别名命令的包

我想找到一个程序来维护可以为不同主机别名的命令列表。例如,我们有一个数据库服务器和四个 Web 服务器。一个常见的任务是登录到管理服务器并使用以下命令重新启动 mysql

# ssh dbserver "service mysql restart"

然后我们通过运行以下命令重启每个 Web 服务器

# ssh webserver1 "service apache2 restart"
# ssh webserver2 "service apache2 restart"
# ssh webserver3 "service apache2 restart"
# ssh webserver4 "service apache2 restart"

我想要一个可以跟踪这些命令的包,然后我可以按如下方式运行它们:

# blah dbserver,webserver1-4 "restartServices"

然后它将循环遍历列出的每个主机并运行必要的命令来重新启动这些主机上的服务。

答案1

您可以为此编写自己的 bash 脚本。

#!/bin/bash
ssh server 1 "service apache2 restart"
ssh server 2 "service apache2 restart"
ssh server 3 "service apache2 restart" etc....

然后只需运行脚本即可。

答案2

这可以通过几种方式来实现。

也许最简单的方法是使用密码(并行 ssh)。

如果你的需求更复杂,你可以使用类似的框架织物或者集体

答案3

在我看来你想要的是甲板。它带有一个漂亮的 Web 界面,但在命令行上也能同样好用。

相关内容