I'm interested in learning about tools and techniques used to manage many Linux machines. (That is, deploying and maintaining updates.)
One way that I thought of to do this is write a Bash script that uploads another script to the servers and executes the script for each server sequentially.
For example:
foreach server
{
connect to server and scp update_script.sh to ~/scripts
ssh user@server -e "sh ~/scripts/update_script.h"
}
And update_script would use apt-get/aptitude
or yum
, or whatever to update packages on the server.
Are there better ways to do things like this?
Best Answer
Try puppet
Another excellent (truly excellent) tool is Webmin, if you add several servers running webmin together (in the webmin interface) you can push updates and view package configurations in its cluster pages.
An alternative, which is more geared to rolling out images, is SystemImager