8 requirements that good backup software needs to fulfil
I’ve been thinking about backup solutions, and have been trying to find one that fits what I need. I have yet to find one, and this post is the first step in outlining what I need (and hopefully what other people need), with the end goal of building the perfect backup solution.
(disclaimer: these are 8 requirements for me, yours may differ!)
Something to remember: When your hard drive dies, do you have your data safely stored somewhere else? A good test would be if all the hard drives in your pc all stopped working right now, would you lose any critical or valuable data? Do you have backups? Can you restore your backups? What about if your whole house burned down?
I’ve found that available backup software out there is either to complicated, doesn’t do what I want, or too expensive. I’ve listed out what I feel are my requirements for backup software (which means that they’re probably not your requirements!). Note that since my primary machine is running Windows, I’m looking at requirements that Windows supports.
I don’t need a full disk backup, rather on a file-by-file basis. When my drive crashes, I’d probably want to use the opportunity to re-install my operating system anyway.
1. Simple and easy to use
Obviously all software should be easy to use, but why are a lot of backup solutions so complex? Ask me what to backup, where to store the backup and how often to run. Otherwise, leave me alone (obviously if there is a problem, let me know!).
2. Simple backup format
I should be able to open windows explorer, and view the files in a backup set without having to run any special software. This also helps with the first requirement – if your files are stored as files on the drive, anything should be able to read them. When you lose your main drive, it makes it easier if you can plug in your backup drive, and just copy files off it.
3. Actually backup (and restore!) your files
This seems obvious, but I’ve seen backup solutions that will silently backup all your files, but then barf when asked to restore them (looking at you, Windows Backup). The only way to be sure is to try restore your data at regular intervals, no matter which system you use. If the storage format is simple, as above, this is less of an issue, but you should still test it on a regular basis!
4. Stay out of my way
You should not have to remember to run a backup. Backup software should run automatically, and quietly in the background. Once you’ve scheduled it, it should do the rest. Disconnecting an external drive half way through a backup should not cause any problems when you plug the drive in again – it should carry on, ideally where it left off.
5. Handle multiple destinations
I would like to backup to external hard drives, USB flash drives and network computers. The software should automatically handle things like drive letter changes for external USB drives.
I want to define a set of files to backup, then point the software at multiple places. When plugging in a USB drive, the software should automatically kick off a backup if one is scheduled. When connecting to a network, if the destination machine is available, start the backup.
6. Keep history
Being able to go back a couple of months and retrieve a file from then is very handy. The software should do intelligent diffing as well as cleanup of old backup sets. If I’ve changed one 1MB file within of a couple of hundred gigabytes of files, I don’t expect the next backup to take much more than 1MB of extra space.
I have too much data to realistically store online. Living in South Africa exacerbates it because we have such constrained bandwidth availability (e.g. ADSL with 3GB limit). An online backup solution, while nice, is not really an option for most South Africans. If you have a couple of megabytes of word docs, then by all means install something like Dropbox or SugarSync and be done.
Obviously there is a limit to how quick backup software can be – it still needs to enumerate over all files you’re choosing to backup, but a backup of a couple of hundred changed files (from a typical day of work) should take under 5 minutes to complete.
Other nice-to-have features
While these would be nice, they are not critical for me at the moment.
Encryption: Encrypting your files would be nice, but this would break the “Simple format” requirement above. Maybe have an external usb drive encrypted using TrueCrypt?
Handle locked files: Files that are in use should also be backed up. This would involve using Volume Shadow Copy.
Primarily, a backup solution needs to be simple, just work and stay out of my way. Anything I’ve left out?