pymultissher is a simple CLI tool that runs commands on multiple servers over SSH.
There is already endless number of tools and utilities, which are able to run commands on a cluster of servers over SSH (e.g., ansible, fabric, paramiko, you-name-it
). However, from time to time you just need a simple and straightforward CLI tool, which take a list of domains and runs a list of command on them over SSH and aggregates output. This is exactly what pymultissher is trying to accomplish.
P.S. SSH heavy-lifting is done by Paramiko
The utility relies on two YAML configuration files to control its operations:
domains.yml
: This file defines default SSH values and domain names. Each domain can have its own set of SSH parameters.commands.yml
: This file specifies the commands to be executed over SSH connections.You can generate these initial configuration files using the init
argument.
The utility also allows using custom YAML configuration files to store domain information and commands.
pip install --index-url https://test.pypi.org/simple/ --upgrade pymultissher
pymultissher init
pymultissher --help
--dry-run
option, which will not executed any commands over SSH
pymultissher run-command --command "whoiam" --dry-run
python -m pymultissher --help
Output of the CLI command:
pymultissher --help
N.B. CLI could be also run as a Python module: python -m pymultissher --help
Please, check CONTRIBUTING.rst