Dsh
From Wikitech
We currently use two different dsh implementations:
- The perl dsh is installed on zwinger as "dsh". It has a handy interactive mode. It checks to see if servers are up before it tries to log in to them. It sorts the output by server, using a small buffer, and so for tasks like compilation that do a lot of output, the task becomes effectively serialized as the stdout blocks for the other servers while waiting for the first server to complete. Its single quote handling is buggy.
- Dancer's dsh is installed on zwinger as "ddsh". Output is not sorted by server, so it's faster and uglier. Also it's written in C and doesn't do the slow server check before login. It's used by scripts such as sync-file and scap which need speed.
Typical command lines:
dsh -N apaches -f ls -l /
ddsh -cM -g apaches -- ls -l /
Check the manpages for more information.
Node groups (-N in dsh and -g in ddsh) are defined by node group lists in /usr/local/dsh/node_groups.