When my laptop was stolen a year ago, I started to think about how I could run my work life differently in order to deal with such situations. Before the the theft, I had a fairly good scheme that worked in all cases except my laptop being lost between long lapses of backing up. Now, I am pretty much covered for all situations. The trick was to develop a scheme that was thorough, but not maniacal nor subject to major lapses.
Here is what I used to do for backups:
Local backup — Being a Mac user, I use Time Machine to incrementally back up my Mac frequently. I have an external USB hard drive beneath my desk, and I fire it up once a day to do a manual backup, normally at the end of the day. Time Machine can do automatic backups, but I prefer not to have the hard drive connected to the Mac all the time, and I like to be a bit more in control of when backups are done.
Offiste backup — I keep a different USB hard drive in the trunk of my car, and I use that to do a full weekly backup of my hard drive. This is "offsite" in that someone who breaks into my house and steals my laptop might also notice the hard drive sitting near it and steal it as well. When I'm driving in my car with my laptop on the passenger seat, the drive at home becomes the offisite backup. For this offsite backup, I use the commercial version of SuperDuper; it's fast, easy, cheap, and smart.
Paranoid backup — I have a second USB drive that I keep at my parents' house that I swap with the one in the trunk of the car once a month. This means that if my house and car are destroyed at the same time (or, I supposed, if someone steals my laptop and the incremental hard drive and my car, all at the same time), I have a backup that is no more than a month old. It also means I have yet another reason to see my parents and not just call them on the phone; it's great to live in the same town as my family!
I also check the integrity of the three backups about twice a year. This is trivial to do with both Time Machine and SuperDuper, but it is an absolutely critical step to actually being able to recover from a disaster.
After the theft, I added another piece to the picture: an incremental offsite backup of my current, important files. I only use this when I travel and am away from my two USB hard drives. Determining what are my "important files" is tricky, and I may end up regretting my choice the next time I have a situation like the one that forced me to think about this. Currently, it backs up a small number of important directories where I do most of my work (my email, my current writing and testing projects, all my program settings, and so on).
I created a small Python program that runs the rsync . It backs up to one of two places:
- If I have a USB thumb drive installed when I run the program, it backs up to that. When I travel, I carry that thumb drive around in my clothing, not in the computer bag with my laptop.
- If there is no thumb drive installed, it backs up to a server that I have at a remote ISP. In this case, rsync is particularly nice because it is fast and can be run encrypted. The user account to which I back up has an impossible-to-guess password, but one that I can access in an emergency.
The total size of the "important files" comes to about 6 gigabytes, but that's because I am lazy and only about 1 gigabyte might change in a week on the road. Backing up to the thumb drive only takes about five to ten minutes; over the Internet takes about an hour from a hotel.
It's really not hard to keep these straight. Do the local backup once a day, usually just before I'm finished work. Do the offsite backup on Saturday. Do the drive swap for the paranoid backup once a month around the 15th. Do the incremental offsite backup every day when I travel, usually in the morning as I get into the shower. Check the integrity of the backups at New Years and in June. No big deal, really, but it sure makes me feel better when I hear of people who lose weeks or months worth of work because they didn't back up or did their backups with unreliable software and never checked the integrity.