Project

fissher

0.0
No commit activity in last 3 years
No release in over 3 years
A utility written to perform batch commands on many servers over SSH. Supports jump servers and hostgroups via a JSON config file.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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.