如何编写shell脚本以在没有ssh的情况下在几台远程计算机上运行脚本?

时间:2012-06-21 18:12:43

标签: linux shell amazon-ec2

任何人都可以告诉我如何编写一个bash shell脚本,在没有ssh的情况下在几台远程计算机上执行另一个脚本。

场景是我有几个脚本,我应该在100个Amazon Ec2云实例上运行。天真的方法是编写一个脚本来将源脚本scp到所有实例,然后通过在每个实例上执行ssh来运行它们。有没有更好的方法呢?

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您只想并行执行某些操作,可以使用Parallel SSHCluster SSH。如果您确实不想使用SSH,则可以安装像celery这样的任务队列系统。你甚至可以去旧学校,只是有一个cron工作,定期检查s3中的位置,如果密钥存在,下载文件并运行它,但你必须小心只运行一次。如果您经常尝试管理一堆计算机,也可以使用PuppetChef等工具。

答案 1 :(得分:0)

另一个选项是rsh,但要小心,它有安全隐患。请参阅rsh vs. ssh