gssh
gssh copied to clipboard
simple command line to utility to run commands on multiple hosts in parallel
gssh
simple command line program to run commands on multiple hosts in parallel.
Usage
echo host1 > /tmp/hosts
echo host2 >> /tmp/hosts
gssh -f /tmp/hosts uname -a
#host1:stdout:Linux host1 2.6.32-431.11.2.el6.x86_64 #1 SMP Tue Mar 25 19:59:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
#host2:stdout:Linux host2 2.6.32-431.11.2.el6.x86_64 #1 SMP Tue Mar 25 19:59:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
gssh -r host1..2 uname -a
Overriding ssh options
Example:
gssh -f file -- -o ConnectTimeout=30 -o BatchMode=yes id
gssh supports streaming output. Useful for tailing logs across multiple machines etc
gssh -f file -- tail -F /var/log/secure | grep -i Accepted
Installation
- Install go
-
go get -u -v github.com/square/gssh
Development
- We use godep for vendoring and dependency management.
-
godep restore # restore to last known good set
-
- Please run
gofmt
andgolint
before submitting PRs