我可以同时在多台机器上运行一个 bash shell 脚本吗?

我可以同时在多台机器上运行一个 bash shell 脚本吗?

我想同时在两台或更多台机器上运行一个 bash shell 脚本。我可以同时在多台机器上运行一个 bash shell 脚本吗?我将这个 shell 脚本放在 centos 5.5 上,其他机器同时运行它。

答案1

我最好的选择是使用 ssh。为此,您可能需要在主机(托管原始脚本的机器)和从机(应该运行脚本的机器)之间交换密钥。即,您需要在主服务器上执行 ssh-keygen,并将主服务器上 ~/.ssh/id_rsa.pub(或 id_dsa.pub)的内容附加到每个从机上的 ~/.ssh/authorized_keys。然后,您可以在每个从机上运行位于主服务器上的脚本,如下所示:

ssh remote_user@slave_machine 'bash -s' < local_script.sh

(从这个答案)。
如果您有从属机器列表,则可以在每台机器上重复此操作,如下所示:

slaves = slaveA slaveB ...
for slave in slaves; do
    ssh remote_user@${slave} 'bash -s' < local_script.sh
done

希望有所帮助。

相关内容