So I finally brought automated backups to the household. It took awhile because I am lazy, and because most current backup systems I’ve seen didn’t seem quite right for our setup.
I wanted to be able to backup critical data (i.e. school papers, homework, etc) on our 3 Macs to a Ubuntu server in my office, upstairs. I like using a Linux-based server for this kind of stuff because of the reliability of the operating system, and the relatively cheap cost of the hardware. I have been using this particular system for a few months now to develop our RTS game, and actually got the entire machine for a total of 0 dollars.
What makes our set-up a little unique is that both of our primary computers are laptops. So a scheduled sort of backup wouldn’t work as the machines aren’t always on at one particular point. Also, my wife is more techy than most, but still wouldn’t be comfortable opening up the Terminal to run shell scripts.The backup system I came up with uses Rsync to transfer files and is setup so that we only have to double-click on an icon and the backup starts up.
I used this great tutorial to set it up so that my machines could connect to the Linux server using SSH without needing a password. Then I used this tutorial (by the same person) to formulate a shell script that will automatically backup our Documents folder and our Desktop folder. Here is basically the entire script I used:
rsync -e “ssh” -rca –delete-after ~/Documents/ firstname.lastname@example.org:/back/ibook -v
rsync -e “ssh” -rca –delete-after ~/Desktop/ email@example.com:/back/ibook/DESKTOP -v
Then I found a great program called Platypus 3.3. This lets you make applications out of scripts. So I loaded my script into Platypus and out came a fully function program to put on each machine. (I modified the script slightly for each system so that they are backed-up into different folders inside of “back”)
Now I know this isn’t a perfect solution as we will still have to find the time to run the backup program (it takes around 5 minutes to work its magic), but its certainly better than no backup at all. I might create a separate script to backup other folders like images and bookmarks and what not. Also for redundancy, I think I’m going to have the Linux server backup the backup folder to another folder on another physical drive. And since the server WILL be always on, this can be handled by cron easily.
This system seems like it will work well for what we need. Once I tweak the script a bit to include a few other critical files, I won’t have to worry too much about our aging laptop hard drives failing any time soon.