Provided by: dsh_0.25.10-1.4_amd64 bug

NAME

       dsh - Distributed shell, or dancer's shell

SYNOPSIS

       dsh  [-m  machinename  |  -a  |  -g  groupname]  [-r  remoteshellname]  [-c | -w | -i | -F forklimit ] --
       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 in bourne shell.

OPTIONS

       The options available are as follows.

       --verbose | -v
              Give verbose output of the execution process.

       --quiet | -q
              Makes output quieter.

       --machine | -m [machinename[,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.

              From    version    0.21.4,    it    is    possible    to    specify    in    the     format     of
              username@machinename,username@machinename,username@machinename  so  that  multiple  hosts  can  be
              specified with comma-delimited values.

       --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.

              The file should list one machine specification per line (with the same syntax as  the  machinename
              argument).  Lines starting with "#" are ignored.

              From  version  0.21.4,  Specifying  the  same  machine  several  times  using  any  of the machine
              specification options will result in multiple invocations merged into one.

       --remoteshell shellname | -r shellname
              Execute remote shell shellname as the remote shell. Usually any of "rsh",  "remsh"  or  "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.

       --hide-machine-names | -H
              Do not prepend machine names on the standard output.

       --duplicate-input | -i
              Duplicates the input to dsh process to individual process that are remotely invoked. Needs to have
              --concurrent-shell set.

              Due to limitations in current implementation, it is only useful for running shell.  Terminate  the
              shell session with ctrl-D.

       --bufsize | -b [buffer-size in bytes]
              Sets the buffer size used in replicating input for --duplicate-input option.

       --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.

       --forklimit | -F fork limit
              Similar  to  -c  with  a  limit  on  the number of simultaneous connections.  dsh will wait before
              creating new connection if the limit is reached.  Useful when the number of nodes to  be  accessed
              is going somewhere above 200, and using -N option is not possible.

EXIT STATUS

       The first non-zero exit code of child processes is returned, or zero if none returned non-zero exit code.

       1 if error is found in command-line specifications.  2 if signal is received from child processes.

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, and use ssh command to connect. (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 groupname 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.

AUTHOR

       Junichi Uekawa (dancer@debian.org)

       Upstream page is available at http://www.netfort.gr.jp/~dancer/software/dsh.html

SEE ALSO

       rsh(1), ssh(1), remsh(1), dsh.conf(5), cssh(1), dish(1), pssh(1), taktuk(1)