No description, website, or topics provided.
Switch branches/tags
Clone or download
fujiwara Merge pull request #3 from u5surf/add-input-from-file-option
add input hostname from files option '-f'
Latest commit 0650bf5 Jun 27, 2018
Permalink
Failed to load latest commit information.
.gitignore 1st version Aug 7, 2015
LICENSE Initial commit Aug 7, 2015
Makefile 1st version Aug 7, 2015
README.md add input hostname from files option '-f' Jun 26, 2018
nssh.go add input hostname from files option '-f' Jun 26, 2018

README.md

nssh

nssh is a tool to execute command in parallel on multiple hosts and returns the aggregated result.

Installation

go get github.com/fujiwara/nssh

or

## at Linux
curl -sLO https://github.com/fujiwara/nssh/releases/download/v0.0.1/nssh-v0.0.1-linux-amd64.zip
unzip nssh-v0.0.1-linux-amd64.zip
mv nssh-v0.0.1-linux-amd64 /usr/local/bin/nssh

Useage

$ nssh --help
Usage of nssh:
-i=false: handle stdin
-p=false: add hostname to line prefix
-t=[]: target hostname
-f=[]: target hostname from files
-v=false: show version

Sample

$ nssh -t host-web-001 -t host-web-002 cat /var/log/nginx/access.log
12.34.567.890 - - [06/Oct/2015:15:52:42 +0900] "-" 400 0 "-" "-"
12.34.567.890 - - [06/Oct/2015:15:52:43 +0900] "GET / HTTP/1.1" 200 133 "-" "Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"

Pass nssh's stdin to remote command. Use -i option.

$ echo foo | nssh -i -t host-web-001 -t host-web-002 cat
foo
foo

Target hosts from file. Use -f option.

$ cat hosts.txt
host-web-001
host-web-002
$ nssh -f hosts.txt cat /var/log/nginx/access.log
12.34.567.890 - - [06/Oct/2015:15:52:42 +0900] "-" 400 0 "-" "-"
12.34.567.890 - - [06/Oct/2015:15:52:43 +0900] "GET / HTTP/1.1" 200 133 "-" "Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"