任何人都可以告诉我如何编写一个bash shell脚本,在没有ssh的情况下在几台远程计算机上执行另一个脚本。
场景是我有几个脚本,我应该在100个Amazon Ec2云实例上运行。天真的方法是编写一个脚本来将源脚本scp到所有实例,然后通过在每个实例上执行ssh来运行它们。有没有更好的方法呢?
提前致谢。
答案 0 :(得分:1)
如果您只想并行执行某些操作,可以使用Parallel SSH或Cluster SSH。如果您确实不想使用SSH,则可以安装像celery这样的任务队列系统。你甚至可以去旧学校,只是有一个cron工作,定期检查s3中的位置,如果密钥存在,下载文件并运行它,但你必须小心只运行一次。如果您经常尝试管理一堆计算机,也可以使用Puppet和Chef等工具。
答案 1 :(得分:0)
另一个选项是rsh
,但要小心,它有安全隐患。请参阅rsh vs. ssh。