[pdurbin@beamish ~]$ gsh web "cat /etc/redhat-release; uname -r"
www-2.foo.com: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
www-2.foo.com: 2.6.9-78.0.1.ELsmp
www-3.foo.com: Red Hat Enterprise Linux AS release 4 (Nahant Update 7)
www-3.foo.com: 2.6.9-78.0.1.ELsmp
www-4.foo.com: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
www-4.foo.com: 2.6.18-92.1.13.el5
www-5.foo.com: Red Hat Enterprise Linux Server release 5.2 (Tikanga)
www-5.foo.com: 2.6.18-92.1.13.el5
[pdurbin@beamish ~]$
还有ClusterSSH,它完全按照你的想法做。是的,描述性的命名!
嗯,也许pconsole是你想要的工具。
您应该在这里查看 Puppet,这是一篇关于其设置和使用的 linux.com文章
你可以试试Capistrano。最初它是一个 Rails 部署工具,但后来发展成为可以在远程机器上做很多事情。
要获得更完整的多台机器管理方法,您可能需要尝试Chef。
Ansible 具有执行临时命令的能力,并且还可以扩展以执行完整的配置管理。基于组的匹配能力非常好。
http://docs.ansible.com/intro_adhoc.html
也不要忽视pssh和dsh;他们都很像@Philip Durbin 提到的gsh。
如果您在 KDE 桌面上,konsole具有“将输入发送到所有会话”选项。它适用于在同一个 konsole 窗口中打开的所有会话。
我想我会从人们似乎喜欢的 Stack Overflow 复制并粘贴我的答案。. .
如何在多台服务器上同时运行命令的问题前几天出现在 Perl 邮件列表中,我将给出与那里相同的建议,即使用 gsh:http: //outflux.net/unix/软件/gsh
gsh 类似于
for box in box1_name box2_name box3_name
已经给出的 " " 解决方案,但我发现 gsh 更方便。您设置了一个 /etc/ghosts 文件,其中包含您的服务器组,例如 web、db、RHEL4、x86_64 或其他(man ghosts)组,然后在调用 gsh 时使用该组。例如,您还可以使用 web+db 或 web-RHEL4 组合或拆分幽灵组。
我还要提一下,虽然我从未使用过 shmux,但它的网站包含一个软件列表(包括 gsh),可让您同时在多台服务器上运行命令。 Capistrano已经被提及并且(据我了解)也可能在该列表中。
您也可以尝试
ssh [user@]hostname [command]
然后遍历主机名。也看看func。Func 允许您使用模块架构来控制系统的不同方面,从处理包到运行命令等。它通过 SSL 在客户端/服务器模块上工作,并且还具有相当灵活的身份验证方案。