Help support massadmin!
What is massadmin ?
This program is used to send multiple system commands to a group of UNIX like remote servers simultaneously using concurrent processes. Supported protocol: FTP, SFTP, TELNET, SSH and SCP. With telnet and ssh all system command are supported provide that they are not interactive.
His main usage is to send repetitive sysadmin task to a group of servers but you can also use it for automatic ftp or scp backup and much more.
Commands are exactly those you will type on your terminal. It also allow you to use 'su -' to execute your commands under the TELNET and SSH protocols.
For example, suppose that you want to install a new printer driver on your hundred of Cups servers, with massadmin, you can ftp or scp the new files or a tarball to each server and move or untar files and reload cups in less than 10 secondes.
Or you may want to wake up a computer on a remote lan using a local server:
./massadmin -h "remotesrv.mydom:root:mdpadm" -e 'SSH::/usr/sbin/ether-wake 00\:25\:44\:DA\:43\:BF |:'
This will execute the ether-wake command line on the remotesrv.mydom server as root user and display the result of the command on stdout.
Or install a program from source under a hundred of servers. Using a configuration file it can be acheive as follow:
FTP:user1;ftppwd:lcd /tmp/:put ether-wake.c ether-wake.c: TELNET:root;adminpwd:cc -o /usr/bin/ether-wake ether-wake.c:rm -f ether-wake.c: SSH:root;adminpwd:ls -la /usr/bin/ether-wake |:
This will put the ether-wake.c source file on the remote servers using FTP command. It then connect to the hosts using TELNET to compile the source and the last line is just to verify that the executable exist by retrieving the outpout of a ls command using SSH.
Why massadmin ?
I used to administer 250 and more heterogeous Unix servers (AIX, SCO, RH Linux, Slackware, Debian, ...) with differents release version. Some time I have to change the root password or install a program from source on all these servers and as I'm a lazy man I don't want to waste my time to connect to each server so I decide to write this little tool to do the works :-).
Source Lines of Code: 647 Estimated Cost to Develop: $ 17,104 (Generated using David A. Wheeler's 'SLOCCount'.)
Copyright (c) 2002-2010 Gilles Darold - All rights reserved. (GPL v3).