version 1, including all changes.
.
Rev |
Author |
# |
Line |
1 |
CraigBox |
1 |
!!NAME |
|
|
2 |
dsh - Distributed shell, or dancer's shell |
|
|
3 |
|
|
|
4 |
!!SYNOPSIS |
|
|
5 |
__dsh [[-m __ ''machinename'' __ | -a | -g __ ''groupname'' __] [[-r __ "remoteshellname" __] [[-c | -w] --__ "commandline" |
|
|
6 |
|
|
|
7 |
!!DESCRIPTION |
|
|
8 |
__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__ |
|
|
9 |
|
|
|
10 |
!!OPTIONS |
|
|
11 |
The options available are as follows. |
|
|
12 |
;__--verbose | -v__ : Verbose output of the execution process is output. |
|
|
13 |
;__--quiet | -q__ : Makes output quieter. |
|
|
14 |
;__--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.'' |
|
|
15 |
;__--all | -a __ : Add all machines found in __/etc/dsh/machines.list__ to the list of machines that the specified command is executed. |
|
|
16 |
;__--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. |
|
|
17 |
;__--file __ ''machinefile'' __ | -f __ ''machinefile'' : Add all machines found in the specified file to the list of machines that the specified command is executed. |
|
|
18 |
;__--remoteshell __ ''shellname '' __| -r __ ''shellname '' : Execute remote shell ''shellname'' as the remote shell. Usually "rsh" and "ssh" are available |
|
|
19 |
;__--remoteshellopt __ ''rshoption '' __| -o __ ''rshoption '' : Add one option ''rshoption'' to the list of options passed on to the remote shell. |
|
|
20 |
;__--help | -h __ : Output help message and exits. |
|
|
21 |
;__--wait-shell | -w __ : Executes on each machine and waits for the execution finishing before moving on to the next machine. |
|
|
22 |
;__--concurrent-shell | -c __ : Executes shell concurrently. |
|
|
23 |
;__--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. |
|
|
24 |
;__--version | -V __ : Outputs version information and exits. |
|
|
25 |
;__--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.__ |
|
|
26 |
|
|
|
27 |
!!EXIT STATUS |
|
|
28 |
Usually zero. There is no real way to usefully use the return value of tasks. |
|
|
29 |
|
|
|
30 |
On error in command-line options, it will return EXIT_FAILURE. |
|
|
31 |
|
|
|
32 |
!!EXAMPLES |
|
|
33 |
|
|
|
34 |
;__dsh -a w __ : Shows list of users logged in on all workstations. |
|
|
35 |
;__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.) |
|
|
36 |
;__./dsh -r ssh -m node1 -m node2 -c -- 'echo $HOSTNAME $(cat/proc/loadavg )'__ : Shows the load average of machines node1 and node2. |
|
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
!!FILES |
|
|
41 |
|
|
|
42 |
;__/etc/dsh/machines.list | $(HOME)/.dsh/machines.list__ : List of machine names to be used for when __-a__ command-line option is specified. |
|
|
43 |
;__/etc/dsh/group/__ ''groupname'' __ | $(HOME)/.dsh/group/__ ''groupname'' : List of machine names to be used for when __-g__ command-line option is specified. |
|
|
44 |
;__/etc/dsh/dsh.conf | $(HOME)/.dsh/dsh.conf __ : Configuration file containing the day-to-day default. |
|
|
45 |
|
|
|
46 |
|
|
|
47 |
!!BUGS |
|
|
48 |
There should be a __dcp__ for copying files to remote systems. |
|
|
49 |
|
|
|
50 |
Configuration files should really be able to do something more than it does now. |
|
|
51 |
|
|
|
52 |
Currently, the algorithm for the __-M__ option is not verified to be right, yet. |
|
|
53 |
|
|
|
54 |
!!AUTHOR |
|
|
55 |
Junichi Uekawa (dancer@debian.org) |
|
|
56 |
|
|
|
57 |
!!SEE ALSO |
|
|
58 |
rsh(1), ssh(1) |
|
|
59 |
|
|
|
60 |
---- |
|
|
61 |
|
|
|
62 |
apt-get install dsh on debian, or check http://www.netfort.gr.jp/~dancer/software/dsh.html.en for other platforms. |