shade
shade

Reputation: 21

How to write a shell script to run scripts on several remote machines without ssh?

Can anyone please tell me how I can write a bash shell script that executes another script on several remote machines without ssh.

The scenario is I've a couple of scripts that I should run on 100 Amazon Ec2 cloud instances. The naive approach is to write a script to scp both the source scripts to all the instances and then run them by doing a ssh on each instance. Is there a better way of doing this?

Thanks in advance.

Upvotes: 1

Views: 884

Answers (2)

Jess
Jess

Reputation: 25069

Another option is rsh, but be careful, it has security implications. See rsh vs. ssh.

Upvotes: 0

Nathan Binkert
Nathan Binkert

Reputation: 9124

If you just want to do stuff in parallel, you can use Parallel SSH or Cluster SSH. If you really don't want to use SSH, you can install a task queue system like celery. You could even go old school and just have a cron job that periodically checks a location in s3 and if the key exists, download the file and run it, though you have to be careful to only run it once. You can also use tools like Puppet and Chef if you're generally trying to manage a bunch of machines.

Upvotes: 1

Related Questions