我想同时在两台或更多台机器上运行一个 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
希望有所帮助。