Having a solid backup system in place for any project is pretty much essential but if you’re anything like me it’s something that’s often neglected. Let’s be honest with ourselves backups are boring, we’d much rather spend our time working on fun things than botching shell scripts that copy files around. For this reason until last night the backup system for my web server consisted of a USB hard drive connected to my home server and a single rsync command run by cron. This has always been perfectly adequate but the way it only gives one day to restore a deleted file before removing it forever is often a worry.
Luckily we have rdiff-backup which works in a comparable way to rsync but with one very important difference; it stores the incremental history of every file. Changed a file 2 months ago and need to revert to the previous version? No problem! This is certainly a much more intelligent approach than simply keeping a mirror of the directory.
(more…)