I maintain a few servers for people, and every time a security upgrade comes
out, I have to ssh to each of them, apt-get update; apt-get
dist-upgrade and wait. So I wrote a
small script to
automate this.
It requires a directory named log in your home directory (to write the logs to), and a file called upgrade-hosts.conf in a directory called etc, also in your homedir. It also depends on a private RSA-key in ~/.ssh/id_rsa.
Running the script will start an ssh-agent, and ask you for the passphrase of your RSA key once. Then it will ssh to all machines listed in the config file, and execute a command (some apt-get stuff) to upgrade the machine. Everything gets logged in files in the ~/log directory.
The config file should look something like this:
hostname1 some comment hostname2 some other comment
I run this blog on the subversion-version of pyblosxom. This usually works great, and code keeps working.. but a few days ago it didn't. After looking at the problem for a while I figured it out: subversion neglected to mention that there were conflicts during the latest update. Or it did mention it.. just not in an obvious way.
It also modifies your original files and replaces them with a some patchwork (full of "<<<") of the conflicting revisions. Which breaks stuff.
I guess using bzr spoiled me...
Op dit werk is een Creative Commons Licentie van toepassing.