So I recently took the plunge and began renting a dedicated server. There’s a number of things I am using it for or plan to use it for, but one of them is as an off-site backup of my home file server.
Going into it, I had no idea what actual software I’d use to create and manage the backup. Asynchronous DRBD seemed like a cool choice at first glance, but it would only protect me from loss due to physical hard disk issues. The other way data is lost, of course, is through user error, which DRBD would replicate to the off-site server before anything could be done about it.
Plan B was to revert to Google searches for things like “linux backup software,” which quickly revealed that the only problem with linux backup software is that there are way too many choices. There are ones that provide realtime backups, periodic backups, incremental backups, differential backups, backups that can only realistically be managed via GUI, backups that are highly scriptable, backups that are encrypted, backups that work with Amazon S3, backups that work with tape drives, and the list goes on. It took a ridiculous amount of time to sort through all the possibilities to find the right tool for the job. In my case, the key required features were:
- Needed to be manageable via console - neither machine runs a GUI
- Needed to provide “go back in time” capability, so deleted or incorrectly modified files could be restored
- Needed to support a backup destination as a remote machine connected over the Internet
- Needed to transmit the backup over the Internet in an encrypted form
- Didn’t need to save the backup on the remote machine in an encrypted form
After much searching, research, and trials with some of the more prominently featured solutions in Google, I finally found rdiff-backup. It’s just right for my needs - simple, sensible, and robust. Simple in that backups can be made via single, easy to understand commands. Sensible in that what you find at the backup target is an exact mirror of the files and directories you backed up, rather than old versions which require a bunch of incremental updates to be applied (or worse, some encrypted solution-specific file format.) This allows easy backup verification and guaranteed ability to regain access to files quickly. Robust in that the reverse diff and ssh dependencies at the heart of rdiff-backup are very mature.
Check out their site, and keep this tool in mind if you don’t have a use for it right away. Probably many backup scenarios beyond just mine are best handled with rdiff-backup.