Sshc is a project mainly written in Perl, it's free.
"ssh cluster" - ssh command execution across groups of hosts
sshc is a perl script capable of executing commands across groups of hosts.
It is meant to be simple and compact. There are no dependencies on external perl modules. All the code is contained in a single source file, and configuration is read from a single rc file in the user's home directory.
USAGE
% sshc usage: sshc user cluster_name command i.e. sshc username clustername "uname -a"
INSTALLATION
To get started, simply place sshc in your path, copy sshcrc.sample to ~/.sshcrc, and add your cluster/host names.
That's it.
EXAMPLE
% cat ~/.sshcrc aws pluto.aws.foo jupiter.aws.foo
% sshc pchuck aws "uptime ; uname -a"
Cluster 'aws' contains 2 hosts. [pchuck] executing commands..
[0] pluto.aws.foo> uptime ; uname -a 13:00:48 up 69 days, 15:35, 0 users, load average: 0.00, 0.00, 0.00 Linux pluto.aws.foo 2.6.18-238.9.1.el5xen #1 SMP Tue Apr 12 19:32:47 EDT 2011 i686 i686 i386 GNU/Linux [1] jupiter.aws.foo> uptime ; uname -a 13:00:49 up 26 days, 14:35, 0 users, load average: 0.82, 0.73, 0.75 Linux jupiter.aws.foo 2.6.18-238.19.1.el5xen #1 SMP Fri Jul 15 08:57:45 EDT 2011 i686 i686 i386 GNU/Linux
2s elapsed. 2 of 2 commands executed successfully.