One of the thing I have to do as a System Administrator is run Backups. There are many ways to do Backups the only issue I have is it has to be easy and work. There are many commercial Backup systems from EMC2 to Full QNAP, and even Home based FreeNAS Solutions. I find that a Linux server with a USB Hard drive and git works the best… and here to you can set one up too!
Note all my how-to’s are done with debian so… here we go.
First as with all debian OS’s UPDATE IT!apt-get update
Next install git and rsync:apt-get install git rsync
Alright.. Now lets setup a folder to use for the storage of the Backups.mkdir /backups/
Now edit /backup.run and add the following lines:#!/bin/bash cd /backups/ # Backup Linux Server 1
rsync -avz –progress –delete firstname.lastname@example.org:/ /backups/server1/ ### Uncomment the next line and Just keep adding servers!
## Backup Linux Server 2
#rsync -avz –progress –delete email@example.com:/ /backups/server2/ if [ ! -d “.git” ]; then
git init .
fi git add -A
git commit -m “`date –rfc-3339=seconds`”
Now chmod it:chmod 755 /backups.run
and now we will need to make a SSH Key for the server.
Run ssh-keygen on your machine, and just hit enter when asked for a password. Next, add the contents of the public key file ( ~/.ssh/id_rsa.pub ) into ~/.ssh/authorized_keys on the server you are going to be backing up (the file should be a chmod of 600).
Now you may run the /backup.run with
Now just set a cronjob to backup automatically.
There you go a full backup system. Watch out for the next blog post where we will make a web frontend for git to view the backups.