By Charly Kühnast
I am writing from a Linux seminar in the Linuxhotel in Essen, Germany. The environment here comprises four Xen virtualized machines. Identical changes to all cluster nodes are a regular requirement, which is a pain, but I have a utility up my sleeve: parallel SSH [1]. Pssh relies on the SSH agent running, so I'll take care of that first:
ssh-agent ssh-add
After I enter the pass phrase for my SSH key, the AAH agent ensures that nobody will ask me for it, at least not during the current session. Next, I need a text file in which I add the IP addresses of the servers for which I need to set up simultaneous connections, so I'll start by adding three addresses to server.txt:
192.168.5.12 192.168.5.52 192.168.5.67
First, I will open an SSH connection to these three computers, run the uname command on them, and redirect the output to my pssh-out directory with the command line:
pssh -h server.txt -l charly -o /home/charly/pssh-out uname
Now I have three files below /home/charly/pssh-out named after the server IP addresses. And lo and behold, the files contain the uname command output (Figure 1). Pssh is thus similar to the Distributed Shell (DSH).
PSCP and PNuke, which are also part of the pssh package, work along the same principle.
PSCP copies files simultaneously to multiple target machines. This command adds a new message of the day to my servers:
pscp -h server.txt -l charly /etc/motd /etc/
PNuke sends a kill -9 to identically named processes on three servers
pnuke -l server.txt -l charly wget
and terminates any wget processes running on them. This frees up some bandwidth.
Brilliant. The most difficult thing about the pssh suite is saying its Internet page name, theether.org, without tripping over your own tongue.
INFO |
[1] Parallel SSH: http://www.theether.org/pssh/
|
THE AUTHOR |
Charly Kühnast is a Unix operating system administrator at the Data Center in Moers, Germany. His tasks include firewall and DMZ security and availability. He divides his leisure time into hot, wet, and eastern sectors, where he enjoys cooking, fresh water aquariums, and learning Japanese, respectively. |