Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/martinemde/capissh
Extraction of Capistrano's parallel SSH command execution
https://github.com/martinemde/capissh
Last synced: 2 months ago
JSON representation
Extraction of Capistrano's parallel SSH command execution
- Host: GitHub
- URL: https://github.com/martinemde/capissh
- Owner: martinemde
- License: mit
- Created: 2012-12-11T06:30:11.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2013-11-14T19:28:35.000Z (about 11 years ago)
- Last Synced: 2024-10-04T12:16:40.393Z (3 months ago)
- Language: Ruby
- Size: 220 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Capissh?
An extraction of Capistrano's parallel SSH command execution, capiche?
![Don Vito Corleone](http://i.imgur.com/hAcWI.jpg)
## About
Capissh executes commands and file transfers on remote servers in parallel.
Capissh will maintain open connections with servers it has seen when it is
sensible to do so. When the batch size is not restricted, Capissh will maintain
all connections, which greatly reduces connection overhead. Sets of commands
are run in parallel on all servers within the batch.## Example
The interface is intentionally simple. A Capissh::Configuration object will
maintain the open sessions, which will be matched up with servers for each
command invocation.require 'capissh'
servers = ['[email protected]', '[email protected]']
capissh = Capissh.new
capissh.run servers, 'date'
capissh.run servers, 'uname -a'
capissh.sudo servers, 'ls /root'## Thank You
Huge thank you to Jamis Buck and all the other Capistrano contributors for
creating and maintaining this gem. Without them, this library would not exist,
and ruby deployment wouldn't be at the level it is today.Most of this code is directly extracted from capistrano without modification.