Last week Jon wrote about the horrifying experience everyone eventually has to deal with – data loss. His wife’s hard drive failed – and without a current backup to rely upon – he went through two data recovery companies and two thousand dollars to retrieve 80 gigs of home movies, pictures, and a career’s worth of graphic design files.
Jon’s lucky. He got his data back. My sister wasn’t so fortunate. I got a frantic phone call from her last night (which is why I’m writing this post). She kept a shortcut to her pictures folder on her desktop and somehow managed to delete the real folder when she dragged it to the trash. What did she lose? Over three thousand pictures she had taken from her senior year in highschool and first year at college. Gone.
I’m a paranoid person when it comes to backing up my files, but it took a hard drive crash of my own to make me realize how important backing up can be. Since then, I’ve gotten very good at making sure my data is secure. The setup I’m about to describe works for me. It’s based on how I prioritize my data and on the budget I’m willing to spend to keep everything safe. It’s not perfect for everyone, so take what I say with a grain of salt – an example of where to start and what’s possible.
All of my data falls into six categories.
- My Home folder (pictures, documents, application preferences, etc)
- My iTunes library
- My Movies folder
- Websites I’ve built (both personal and professional)
I segregate my data this way based on how frequently I back up each and the method I use to do it.
Keeping my email safe is by far the easiest to do. I have two accounts that I check. My GMail (personal) and my Sitening work email.
The philosophy behind Google’s email service is that they give you so much space, there’s never a need to throw anything away. I try my best to take advantage of that. I switched to GMail in May of 2004, two years ago, and every email I’ve received or sent is at my fingertips on any computer with a quick Google search.
But what if Google crashed? I can’t leave my mail in one place. Luckily, Google allows POP access to GMail which means I can save it onto my local machine very easily. Using these simple setup instructions, Apple Mail keeps a backup copy of all my mail.
As for my Sitening email, the solution is even simpler. We host our website at TextDrive which means we get IMAP email access. IMAP lets me keep an always-in-sync copy of my mailbox on my machine and on their server. If either should crash, I can restore one from the other. Simple.
My Home Folder
The beauty of OS X’s Unix-based design is that each user gets their own Home folder where all of their data is (should be) stored. In theory, you could make a complete backup of your Home folder each night and be set. Some people do that. However, for me, that just isn’t practical. I’ve got too much data.
Here’s how my Home folder breaks down:
- Documents folder: (600mb) Contains my financial files, lots of ebooks, my resume, all the papers I wrote in college, back-up files from previous jobs, etc.
- Library: (600mb) This is where OSX programs store your preferences (specifically in ~/Library/Application Support and ~/Library/Preferences).
- Movies: (12GB) Home videos and movies and TV shows I’ve downloaded.
- Pictures: (4GB) All of my digital photos and lots of old family pictures I scanned.
- Music: (25GB) A large portion of my music library.
Add that up and you get 42GB of data!
So what do I do?
In the corner of my home office I’ve setup my old Dell desktop to be a simple file server. I replaced its aging hard drive with a new 20GB that I’ve installed Ubuntu Linux on. Separated from the OS is a second 120GB hard drive which I use for storing my backups. The drive is shared to all the computers in my house (five at this point). Total cost? $150 for the two hard drives, $0 for the operating system, and I’m not counting the cost of the computer since everyone seems to have an old machine laying around now-a-days.
Next, I add Shirt Pocket Software‘s SuperDuper! to the mix. It’s a fantastic little OSX app that does intelligent backups. For $27, it will scan any folder(s) you tell it to and do either a full backup or just backup the files that have changed since last time. Best of all, it lets me ignore certain files that I don’t want to include.
I’ve told it to back up my entire Home folder except for my Movies and Music folders (we’ll get to them later). Each day when I come home, I set my laptop on my desk, launch SuperDuper and go start dinner. Five minutes later (thanks to it’s smart backup system) my entire Home folder is backed up onto my file server.
With 12GB of movies on my laptop, how do I decide what to backup? Easy. I burn my home videos to DVD twice. (Store one copy at home, the other at work, or with a family member, or even a safety deposit box at the bank). The rest of the movies? The TV shows? Who cares. There’s no reason to keep around month old episodes of Lost or 24. The same goes for any movies I’ve downloaded. If they get lost (no pun intended) it’s no big deal. (Obvisouly some people make take issue with this point. But like I said, this is my backup solution.)
Backing up my iTunes library took a large initial investment of time. I made sure that all of my files were tagged with the correct album, artist, and song title information and then told iTunes to burn the entire library to data DVDs…twice. My 25GB collection spanned 6 DVDs. (I could have used larger, dual-layer discs but those are too expensive.) Once the backup was finished, I stored one set of discs at home, the other went to my parent’s house.
That solves the inital backup problem. The trick is to continue backing up new music as you aquire it so you don’t have to do a huge multi-disc backup each time.
To do this, I created a smart playlist in iTunes called “New Music” .
This creates and up-to-date list of all the music I’ve added to iTunes since I last backed up. When the playlist reaches 4.7GB (the size of a DVD) I burn a copy and reset the smart playlist’s date to today. It’s an elegant solution that works really, really well.
Building websites is how I make my living. It’s vital that everything I produce is backed up and in some form of version control.
Every website I build is stored in SVN (on my local computer, and also on a remote server we use at Sitening) so I can roll-back to any previous version of any file at any time.
For an extra layer of protection I schedule SuperDuper! to make a backup of my websites each time I do the Home folder backup mentioned above.
Finally, what to do about all of the applications I use.
I thought about this problem for a while and realized that backing all of them up is not something I want to do. That’s way too much data – especially considering how often new versions are released.
I started looking at exactly what was irreplacable. Very little it turns out. Most of the programs I use are small and can be re-downloaded at any time from company’s website. For example, TextMate, SuperDuper!, Transmit, NetNewsWire, Firefox, etc. The important thing is that I have my registration number handy for each one. All those codes are, of course, stored in my email which is already backed up. Sweet.
As for the larger applications like Photoshop and Office, well, I just have to bite the bullet and makes copies of their install discs and store them someplace safe.
Still, backing up my applications isn’t quite finished. In the horrible event that I have to recreate my system from scratch, there’s no way I’ll remember all of the little programs I use on a less than daily basis. I need a way to keep track of what’s installed on my machine.
To keep track of this I wrote a small shell script that runs once a week.
ls -l /Applications /Applications/Utilities > myapps.txt
mail -s "List of Programs on Tyler's Laptop" email@example.com < myapps.txt
This prints out a list of all the programs on my machine and emails it to myself. Now, if my system were to crash, I have a complete list of what to download along with the registration codes in my email.
Like I said at the beginning, this is my backup solution. It’s far from ideal (I’m always tweaking things), but it works for me. From talking with friends and other computer people, I’ve realized that everyone’s needs are different. The important thing is to make sure you find a solution that works for you, and stick with it.