Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Please recommend me a good terminal multiplexer. I'm new to sys admin work and need a good way to mange multiple boxes.

Edit: Just be clear, I'm looking for something like PuTTy that can send commands to multiple boxes at once.

Usage example: Installing an rpm on 10 different boxes. It's tedious to have to do each one manually.

share|improve this question

closed as not constructive by Mark Henderson Jan 16 '12 at 3:58

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

    
Just to be clear, are you looking for a piece of hardware that allows you to connect to RS232 interfaces of multiple devices? –  Zoredache Mar 30 '10 at 19:52
    
You have this tagged as Linux but refer to Putty. Which client OS are you trying to run this on? –  John Gardeniers Mar 30 '10 at 21:52

4 Answers 4

GNU Screen was invented just for this, it is indispensible and I use it every day.

Also Tmux has been getting a lot of attention lately, it is a lightweight version of screen.

share|improve this answer

A comprehensive best practice answer covering the management of multiple systems using methods like puppet, cfengine, Spacewalk, Kickstart, and other integral utilities would be appropriate.

Instead, I'll example the benefits of creating your own with:

for H in `hosts`
do
     ssh $H "# do things and stuff ; yum -y update"
done

Thankfully, I've also covered the first one here:

http://serverfault.com/questions/123144/managing-an-application-across-multiple-servers-or-pxe-vs-cfengine-chef-puppet/123153#123153

share|improve this answer

I think Cluster SSH works best in these situations. You get individual windows for each server, but a dialog transmits all of your keystrokes to all servers.

That way, if your 'rpm' command bombs out on one server, you can click on that server and investigate/resolve the issue.

http://sourceforge.net/projects/clusterssh/

share|improve this answer
    
I've found SSH pipes to be better suited for managing multiple servers. While novel, this technology is fallible and less flexible. –  Warner Mar 31 '10 at 13:37

I use dancer-shell on a small cluster, which can execute shell commands in parallel on a list of hostnames. If you have a lot of systems, dsh can be impeded by network throughput. It offers a tree topology option to have hosts call hosts and so-on, as long as they all have dsh installed.

Dsh is nice, but it has some drawbacks. If your network or systems are busy, failure will occur, leaving you with some systems in one state and other systems in another. You can try to write idempotent commands and just keep running it until everything comes back ok, I guess. But the common solution is to have some sort of agent which tries to bring the system from it's current state to the existing one; this approach allows it to retry if a transient network error occurs. This is the approach cfengine/puppet/chef take to varying degrees.

share|improve this answer