Penguin

NAME

dsh - Distributed shell, or dancer's shell

SYNOPSIS

dsh [-m __ ''machinename'' __? [-r __ "remoteshellname" __? [-c? -- "commandline"

DESCRIPTION

dsh executes command remotely on several different machines at the same time. An utility to effectively do a for a in $(seq 1 10); do rsh $a command; done

OPTIONS

The options available are as follows.

--verbose | -v
Verbose output of the execution process is output.
--quiet | -q
Makes output quieter.
--machine machinename | -m machinename
Adds machinename to the list of machines that the command is exeuted. The syntax of machinename allows username@machinename where remote shell is invoked with the option to make it of username.
--all | -a
Add all machines found in /etc/dsh/machines.list to the list of machines that the specified command is executed.
--group groupname | -g groupname
Add all machines found in /etc/dsh/group/ groupname to the list of machines that the specified command is executed.
If groupname is on the form @netgroup then the machines in the given netgroup is used to specify the list of machines to execute on.
--file machinefile | -f machinefile
Add all machines found in the specified file to the list of machines that the specified command is executed.
--remoteshell shellname | -r shellname
Execute remote shell shellname as the remote shell. Usually "rsh" and "ssh" are available
--remoteshellopt rshoption | -o rshoption
Add one option rshoption to the list of options passed on to the remote shell.
--help | -h
Output help message and exits.
--wait-shell | -w
Executes on each machine and waits for the execution finishing before moving on to the next machine.
--concurrent-shell | -c
Executes shell concurrently.
--show-machine-names | -M
Prepends machine names on the standard output. Useful to be used in conjunction with the --concurrent-shell option so that the output is slightly more parsable.
--version | -V
Outputs version information and exits.
--num-topology | -N
Changes the current topology from 1. 1 is the default behavior of spawning the shell from one node to every node. Changing the number to a value greater than 2 would result in dsh being spawned on other machines as well. BE CAREFUL!! This code has not been tested thoroughly.

EXIT STATUS

Usually zero. There is no real way to usefully use the return value of tasks.

On error in command-line options, it will return EXIT_FAILURE.

EXAMPLES

dsh -a w
Shows list of users logged in on all workstations.
dsh -r ssh -a -- w
Shows list of users logged in on all workstations using ssh. (It should be of note that when using ssh, ssh-agent is handy.)
./dsh -r ssh -m node1 -m node2 -c -- 'echo $HOSTNAME $(cat/proc/loadavg )'
Shows the load average of machines node1 and node2.

FILES

/etc/dsh/machines.list | $(HOME)/.dsh/machines.list
List of machine names to be used for when -a command-line option is specified.
/etc/dsh/group/ groupname | $(HOME)/.dsh/group/ groupname
List of machine names to be used for when -g command-line option is specified.
/etc/dsh/dsh.conf | $(HOME)/.dsh/dsh.conf
Configuration file containing the day-to-day default.

BUGS

There should be a dcp for copying files to remote systems.

Configuration files should really be able to do something more than it does now.

Currently, the algorithm for the -M option is not verified to be right, yet.

AUTHOR

Junichi Uekawa (dancer@debian.org)

SEE ALSO

rsh(1), ssh(1)


apt-get install dsh on debian, or check http://www.netfort.gr.jp/dancer/software/dsh.html.en for other platforms.

This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.