News: I am working on hydrashell 0.2, which is
A little while ago, I was in a class for Veritas Cluster Server, and a cluster shell tool was mentioned. It wasn't set up on the lab hosts, but I thought, "how hard could that be?" And the answer is: not hard at all.
I present to you hydrashell, a tool for working on multiple Unix hosts at once. It's still in an early state, but I already find it useful for working on multiple Unix hosts at once. I am of course hardly the first person to write something like this, but mine is nice and general-purpose, I think. It presents you with a prompt, and when you type a command, that command gets run on every system you've defined. It looks something like this:
vinnysold:~$ ./hy prodaix11 prodaix12
hy> uptime
----{ prodaix11 }--------------------
02:31PM up 16 days, 23:10, 1 user, load average: 0.00, 0.00, 0.00
----{ prodaix12 }--------------------
02:31PM up 13 days, 22:04, 1 user, load average: 0.00, 0.01, 0.01
You can define the host list on the command line, change it during your session, and do a number of other neat things with the "+" escape code. Do +list to see your host list, or +hosts to define a new one, or a bunch of other things (like quit with +quit). +help will show you the list of commands, like this:
hy> +help Available escape-commands: hytest: a test subroutine add: add a host to the host list clear: clears the screen color: toggles color usage get: get a file from the remote system headers: toggles hostname printing help: prints available commands hosts: sets host list list: displays host list local: executes a command on the local host put: put a file to the remote system quit: exits hydrashellIt also supports a .hydrashell file in your home directory so you can save your preferred settings. It is strongly suggested that you have passwordless ssh or rsh set up...otherwise you will get very tired of typing in your password very fast.
To try it out, just download hydrashell.tar.gz
and away you go! It has some minor limitations, some due to the way it
works and some due to the fact that it's still pretty beta, but if
you're not a command-line sort of guy, you probably don't want this anyway,
and if you are, you'll probably be able to deal with it.