Chr*_*nch 40 remote-access linux
我有大约十几个 Linux 机器,偶尔需要在上面运行相同的命令。除了登录到每台机器并一次运行一个命令之外,是否有更简单的方法(或自动化方法)来做到这一点?它不是所有时间都相同的命令,也不是在预设时间,所以它不是像cron.
我想我会从人们似乎喜欢的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 时使用该组。
[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 ~]$
Run Code Online (Sandbox Code Playgroud)
例如,您还可以使用 web+db 或 web-RHEL4 组合或拆分幽灵组。
我还要提一下,虽然我从未使用过 shmux,但它的网站包含一个软件列表(包括 gsh),可让您一次在多台服务器上运行命令。 Capistrano已经被提及并且(据我所知)也可能在该列表中。
您也可以尝试ssh [user@]hostname [command]然后遍历主机名。
| 归档时间: |
|
| 查看次数: |
22665 次 |
| 最近记录: |