通过网络运行 bash 脚本

通过网络运行 bash 脚本

我有一个包含 50 多台 ubuntu 机器的 LAN。我想使用集中式 ldap 服务器更改整个 LAN 授权。我有一个正在运行的 LAN 服务器,并且我编写了一个脚本来完成所有客户端配置。

我不想通过 SSH 连接到每个系统并运行脚本。那么我能做些什么来同时在整个 LAN 上运行脚本吗?

答案1

PSSH 应该可以完成这项工作。您需要做的就是提供一个 known_hosts 文件和脚本:

pssh -h host-file --user -P ./script

答案2

对于少量的机器来说,类似下面的操作就可以正常工作。

ssh [email protected] 'uptime'

要访问所有较大的服务器组,您可以将其包装到 for 循环中,如下所示。或者

$SERVERS = server1 server2 server3

for SERVER in $SERVERS
    do  
    ssh user@$SERVER 'uptime' 
    done

现在,对于 50 台服务器规模,你可能需要开始深入研究 Puppet(https://puppetlabs.com)或 ANSIBLE(https://www.ansible.com)。还有 SALT 和 CHEF。请参阅此文章对它们进行适当的比较。

相关内容