mssh, mcmd

Tools for running multiple commands and ssh jobs in parallel, and easily collecting the result

Usage

mssh -r host01,host02,host03 "uname -r" -c

```sh

Usage: mssh [options] -r, –range RANGE Requires a configured Range::Client. Use –hostlist if you do not use range –hostlist x,y,z List of hostnames to execute on -f, –file FILE List of hostnames in a FILE use (/dev/stdin) for reading from stdin -m, –maxflight 50 How many subprocesses? 50 by default -t, –timeout 60 How many seconds may each individual process take? 0 for no timeout -g, –global_timeout 600 How many seconds for the whole shebang 0 for no timeout -c, –collapse Collapse similar output -v, –verbose verbose -d, –debug Debug output

```

Installing

mssh is a rubygem: gem install mssh. http://rubygems.org/gems/mssh

BUGS/TODO

  • Optionally Incorporate stderr into -c, with $?
  • allow commandline manipulation of ssh args
  • factor out redundancy between bin/mssh and bin/mcmd (cli module?)
  • incorporate range / foundation lookup syntax for -r
  • json output mode
  • to-file output mode
  • lots of rough spots, not super slick yet
  • needs testing real bad. 0.1 release