![多台服务器上执行相同命令](https://linux22.com/image/514244/%E5%A4%9A%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%89%A7%E8%A1%8C%E7%9B%B8%E5%90%8C%E5%91%BD%E4%BB%A4.png)
我只是想知道是否有任何系统管理员需要在多台服务器上执行一个命令。 如果有,您使用什么技术?
我已经厌倦了通过 ssh 连接到 3-5 个服务器并一遍又一遍地执行相同的操作,所以我想让我的生活更轻松。
另外,我认为我应该创建密钥,这样我就不必再输入密码了(尽管我使用的是 root)。这样做了 2 年后,我有点懒惰了。
我用 Google 搜索了一下,我知道 cssh、pssh、tentakel(这个看起来很酷),以及更专业的 Puppet(我刚刚听说过,没有花时间阅读文档)。
顺便说一句,我使用的是 XP+putty,所以如果有任何可用的 putty-cool-thingy,也欢迎。如果没有,我总是可以 ssh 到一台服务器,然后从那里开始我的其他服务器征服 :) *evil*
打我吧。谢谢。
答案1
看着:
clusterssh
答案2
如果你是 Ruby 用户卡皮斯特拉诺值得考虑。如果你对 Puppet 的想法很感兴趣,那么 cfengine 和 bcfg2 也值得一看。
我非常喜欢用 Capistrano 来处理常规任务,尽管我不确定我是否能很好地使用它,而且我可能需要一些培训才能受益。对于一次性任务,我建议使用 clusterssh。
答案3
答案4
如果您已经设置并安装了 ssh 密钥,并且想要一些简单的东西:
#!/bin/bash
SRVLST="server1 server2"
for SRV in $SRVLST
do
echo Logging into root\@$SRV
ssh root@$SRV "$1"
done
然而,如果你真的想正确地控制事情,你应该看看这样的实用程序木偶