All Projects → andrewpillar → cl

andrewpillar / cl

Licence: MIT license
Concurrently run commands across multiple servers via SSH

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to cl

ssh
A file transfer application
Stars: ✭ 18 (-60%)
Mutual labels:  ssh
seahorse
ELKFH - Elastic, Logstash, Kibana, Filebeat and Honeypot (HTTP, HTTPS, SSH, RDP, VNC, Redis, MySQL, MONGO, SMB, LDAP)
Stars: ✭ 31 (-31.11%)
Mutual labels:  ssh
FastTunnel
expose a local server to the internet. 高性能跨平台的内网穿透解决方案 远程内网计算机 域名访问内网站点 反向代理内网服务 端口转发 http代理
Stars: ✭ 815 (+1711.11%)
Mutual labels:  ssh
alpine-desktop
No description or website provided.
Stars: ✭ 13 (-71.11%)
Mutual labels:  ssh
TailLog
实时日志(tail log)查看监控客户端工具
Stars: ✭ 79 (+75.56%)
Mutual labels:  ssh
noc
Official read only mirror for
Stars: ✭ 84 (+86.67%)
Mutual labels:  ssh
essh
Extended ssh command
Stars: ✭ 42 (-6.67%)
Mutual labels:  ssh
backup-action
🗄️ Github Action to backup MySQL, MongoDB and PostgreSQL databases
Stars: ✭ 27 (-40%)
Mutual labels:  ssh
fugit
_Really_ lightweight git access control
Stars: ✭ 24 (-46.67%)
Mutual labels:  ssh
dystopia
Low to medium multithreaded Ubuntu Core honeypot coded in Python.
Stars: ✭ 59 (+31.11%)
Mutual labels:  ssh
girltalk
A tool for helping stand up headless C2 for droppables.
Stars: ✭ 16 (-64.44%)
Mutual labels:  ssh
tosh
Imagine your SSH server only listens on an IPv6 address, and where the last 6 digits are changing every 30 seconds as a TOTP code...
Stars: ✭ 406 (+802.22%)
Mutual labels:  ssh
ssh-rs
In addition to encryption library, pure RUST implementation of SSH-2.0 client protocol (除加密库之外 纯rust实现的 ssh-2.0 client 协议)
Stars: ✭ 18 (-60%)
Mutual labels:  ssh
wormhole
A minimalistic Ansible-like tool for configuring remote servers via ssh
Stars: ✭ 22 (-51.11%)
Mutual labels:  ssh
ssh
golang ssh lib simple for use
Stars: ✭ 15 (-66.67%)
Mutual labels:  ssh
terraform-google-nomad
📗 Terraform Module for Nomad clusters with Consul on GCP
Stars: ✭ 63 (+40%)
Mutual labels:  ssh
public
util toolkit for go.golang 通用函数包
Stars: ✭ 135 (+200%)
Mutual labels:  ssh
lobbyboy
A lobby boy will create a VPS server when you need one, and destroy it after using it.
Stars: ✭ 212 (+371.11%)
Mutual labels:  ssh
tmuxpair
Command line script for setting up a temporary tmux session for pair programming
Stars: ✭ 34 (-24.44%)
Mutual labels:  ssh
synpse
Synpse is an all-in-one solution to manage your servers and IoT devices providing declarative app deployment, SSH access and TCP tunnels
Stars: ✭ 17 (-62.22%)
Mutual labels:  ssh

cl

cl is a simple tool that allows you to run multiple commands concurrently across a cluster of servers via SSH. It works by taking the name of the cluster to run the command across, followed by the command to run like so.

$ cl uat systemctl status postgresql

cl expects a ClFile to be in the current directory from where the command is invoked. This is a plain-text file that describes the cluster, and how they can be accessed via SSH.

uat:
  db@db-host-1 ~/.ssh/id_rsa
  db@db-host-2 ~/.ssh/id_rsa
  db@db-host-3 ~/.ssh/id_rsa

The ClFile

The ClFile expects the cluster of servers to be organised in the below format, where the heading is the name that will be used via the command, and each subsequent entry is the server to connect to.

[name]:
  [user]@[host]:[port] [identity]

[name]:

A human readable string that specifies the alias for the cluster machines.

[user]

The user to connect to the machine as, if not specified then $USER will be used instead.

[host]

The host to connect to, this is always required.

[port]

The port to connect to on the machine, if not specified then 22 will be used instead.

[identity]

The identity file to use during SSH authentication, if not specified then ~/.ssh/id_rsa will be used by default.

There is no limit to the number of clusters that can be specifed in the ClFile.

uat:
  db@db-host-1 ~/.ssh/id_rsa
  db@db-host-2 ~/.ssh/id_rsa
  db@db-host-3 ~/.ssh/id_rsa

prod:
  db@prod-db-host1:1234 ~/.ssh/id_prod_db
  prod-db-host2:44
  prod-db-host3 ~/.ssh/id_rsa
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].