Run the same command on many Linux servers at once

June 11, 2013 — 6 Comments

Ever have to check a list of Linux servers for various things like what version of CentOS they’re running, maybe how long each has been running to get an uptime report? You can – and it’s very easy to get going with it.

gsh allows you to run commands on multiple hosts by adding tags to the gsh command.

Important things to remember:

  • /etc/ghosts contains a list of all the servers and tags
  • gsh is a lot more fun once you’ve set up ssh keys to your servers

Examples to use:

List uptime on all servers in the linux group:

Check to see if an IP address was blocked with CSF by checking the csf and csfcluster groups/tags:

Unblock an IP and remove from /etc/csf.deny from all csf and csfcluster machines

Check the linux kernel version on all VPS machines running centos 5

Check cpanel version on all cpanel machines

The full readme is located here: http://outflux.net/unix/software/gsh/

Here’s an example /etc/ghosts file:

6 responses to Run the same command on many Linux servers at once

  1. That is very useful actually. I use to run each one manually so this will save me a lot of time. Your guides are very easy to follow and thanks for providing the link to the full readme.

  2. That looks like a really cool tool, I will have to test that out. It seems like a great way to manage updates to large groups of machines in a controlled way.

    Now I need to set up ssh keys to all of my machines.

  3. Another excellent guide. Thank you. This will improve my productivity quite a bit. Very helpful code, indeed.

Trackbacks and Pingbacks:

  1. Links 13/6/2013: CyanogenMod Gets Incognito Mode | Techrights - June 13, 2013

    [...] Run the same command on many Linux servers at once [...]

Leave a Reply