如何向具有不同参数的远程节点发出并行命令?

如何向具有不同参数的远程节点发出并行命令?

我需要在多个 Ubuntu 服务器上并行执行应用程序,同时为不同的服务器提供不同的参数。我尝试用谷歌搜索,但无法找到可能的解决方案。我什至尝试过 ssh/pdsh/parallel,但没有成功。

为了进一步解释该场景,这里有一个非工作示例(带有pdsh),script.sh应在所有 3 个服务器上并行执行,但使用不同的参数。仅供参考,我已经有了公共/私有 ssh 密钥(无密码登录)。

pdsh -w server1,server2,server3 -l username script.sh args

其中argsserver1 应该为 1,server2 应该为 2,等等。

pdsh如果有人可以帮助我实现这一点,无论是使用Ubuntu 中的工具还是其他可用的工具,我将不胜感激。

答案1

您可以使用GNU 版本的并行

例如,要echo使用参数1through进行调用10,请将每个命令分派到或echo之一:server.example.comserver2.example.net

seq 10 | parallel --sshlogin server.example.com,server2.example.net echo

相关内容