Fissher¶ ↑
Fissher is a simple utility to run commands on multiple servers, powered by Net::SSH::Multi.
Usage¶ ↑
fissher [flags] [command]: -G Hostgroup Execute command on all hosts listed in the JSON config for the specified group. -H Host1,Host2 Execute command on hosts listed on the command line -g jumpbox Manually specify/override a jump server, if necessary. -s Execute the provided commands with sudo. -u username Manually specify/override username to connect with. -p Use password based authentication, specified via STDIN -c config.json Manually specify the path to your fissher config file -n num Number of concurrent connections. Enter 0 for unlimited. -U username Specify an alternate user to run the command as. Uses sudo. (E.G. -U webmaster)
Installation¶ ↑
Via Rubygems (Recommended)¶ ↑
Simply run the following:
gem install fissher
<img src=“https://badge.fury.io/rb/fissher.png” alt=“Gem Version” />
Manual¶ ↑
-
Place the code into a directory by either unarchiving it or checking it out via git.
-
Run bundler to install the dependency gems (getopt, net-ssh-multi, net-ssh-session, json, highline)
JSON Config file¶ ↑
This file, by default, lives in the etc directory one level below where the main script lives. You can specify it manually with the -c option.
There is a sample configuration file provided with the script that displays all of the currently configurable options. Any variables can be omitted or overridden with command line options.