微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 如何通过SSH远程将命令自动运行到多个服务器并行?

我已经搜索了类似的问题,但除了运行一个命令或者一些命令,例如:
ssh user@host -t sudo su -

但是,如果我基本上需要同时运行一个脚本(假设)15个服务器.这在bash中是可行的吗?在完美的世界中,我需要尽可能避免安装应用程序.为了论证,让我们说我需要在10个主机上执行以下操作:

>部署新的Tomcat容器
>在容器中部署应用程序,并对其进行配置
>配置Apache vhost
>重新加载Apache

我有一个完成所有这些操作的脚本,但它依赖于我登录所有服务器,从repo中删除脚本,然后运行它.如果这在bash中不可行,你建议用什么替代方案?我是否需要更大的锤子,例如Perl(因为我可以保证Python在RHEL环境中的所有盒子上都可以使用Python,这要归功于yum / up2date)?如果有人能够向我指出任何有用的信息,那将非常感激,特别是如果它在bash中可行的话.我会满足于Perl或Python,但我只是不知道那些(正在研究).谢谢!

通常,我只会使用Expect的原始Tcl版本.您只需要在本地计算机上拥有它.如果我在使用Perl的程序中,我使用 Net::SSH::Expect执行此操作.其他语言具有类似的“期望”工具.

原文地址:https://www.jb51.cc/bash/387063.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐