dsh - Online in the Cloud

This is the command dsh that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

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.

Use dsh online using onworks.net services



Latest Linux & Windows online programs