There are two kinds of people in the world, those that have lost a hard drive and those that are going to lose a hard drive.
Ever since my hard drive snafu a while back, I’ve been a lot more cognizant about backups.
- My email is sent to both FastMail and TuffMail, just in case.
- All of my work file are in SVN, which is backed up with an hourly rsync to Strongspace (soon to be going to S3 as well).
- My production MySQL databases are dumped nightly and archived to S3.
- My home machine runs a RAID 1 array and I do SuperDuper backups to external drives.
And I’ve just set up a backup solution for my laptop that we’re standardizing on at Crowd Favorite. Basically we’re using a combination of SuperDuper and Time Machine, with a single external drive.
Using a single 500GB external drive:
- Connect the drive, and say “Yes” to use this as a Time Machine backup.
- Launch Disk Utility and create 2 sparse disk images using settings similar to these.
Time Machine will run for a little while, you want to let it finish before you start your SuperDuper clone. Once Time Machine has finished, you’ll want to do your first SuperDuper clone.
I use the 2 encrypted disk images to house my SuperDuper clones. The reason to have 2 is to give you just a little extra security. There are two issues that this helps with:
- Using a disk image, especially an encrypted image, brings disk image corruption into play.
- When you do a clone from your main drive, there is a chance that your main drive can get into a bad state, then you overwrite your backup with it.
A second image can slightly mitigate both of these.
I name my disk images creatively as SuperDuper 1 and SuperDuper 2. On even numbered days, I do a SuperDuper smart update to disk image #2, on odd numbered days I update disk image #2.
Doing all of this to a single physical disk isn’t ideal, but both the external backup drive and my laptop drive would have to fail simultaneously for me to lose data.
In the morning, I plug in my laptop and initiate a SuperDuper smart update. This takes about 20-30 minutes and I’m able to use the machine with only a minor performance hit during that time. Most of the time though, I might be checking in or coordinating with one of the other guys in the office, or doing things that don’t need a lot of performance like replying to e-mail.
I’m pretty satisfied with this set-up, but if you have suggestions for improvement I’d love to hear them.
That first line is so very true. After I had to get my boot drive recovered professionally a couple years back, I had to rethink my entire backup strategy (first step was to start doing backups). I now run SuperDuper every single night, cloning my entire boot drive to another drive (it’s got the OS, all software, photos, music and work). All the other drives are just filled with movies and tv shows, stuff that I can live without. Can’t afford to keep copies of EVERYTHING.
Alex, I’d be interested to hear more about your e-mail setup. E-mail replication has become a big concern to me lately after my host had a bit of a snafu that caused me to lose e-mails sent to me during an 8-hour window.
Sure. Basically I have my mail coming into my server, then I forward it on to both my FastMail and my Tuffmail accounts. That’s about it. 🙂
It would be less load on my server to have the MX records send the mail directly to FastMail and then have FastMail forward the mail to Tuffmail – or vice versa, but then if the mail host doing the forwarding went down I’d be in trouble.
I’m relying on my server staying up in this scenario, but I’m pretty much relying on that anyway. 🙂
Easy enough 🙂 I’ve considered doing it on my server as well. What are you using, postfix? Only thing I don’t like about it is the single point of failure but, I haven’t dug around too much on doing it at the DNS/MX level. My plan is to use Google Apps as my primary mail access with FastMail serving as my backup.
The mailserver might look like a single point of failure but mail is very resilient. If your server is offline the sending server will try to resend it for up to 48 hours. If that isn’t enough then you can also use backup MX servers that will receive your mail, store it (for a few weeks) and forward it as soon as your server comes back online. These services are available for free (like rollernet.us) and are very easy to setup. No configuration needed on your mailserver, just an extra DNS entry, and configuring the service.
Thanks for a post. Very userful.
[…] Why Hardware Sucks and Backups and Clouds Matter – I have a backup strategy post I’m working on too I posted my current backup strategy. […]
I think what I am going to do is get Time Capsule (assuming the reviews are good and people have good success with it) as my main backup device. Using it with Time Machine should provide a very reliable backup.
As my second tier backup, I am going to get a portable USB drive and use it to store weekly backup offsite.
I have been thinking about checking out JungleDisk, but not sure if I want to go that route yet.
The problem with Time Machine as your primary backup is that it isn’t a “clone” of your HD. Do a little reading about experiences in restoring from Time Machine. I believe SuperDuper is a superior option for this.
Are you going to make your MySQL -> S3 backup script available? I’d be interested in using it, as MySQL is currently a hole in my backup system.
Right now it’s a two step process. Use a CRON job to dump your MySQL databases, then one of the many S3 backup scripts to do the transfer.
Alex, thanks for posting what you do for backup. I’ve been struggling with this since switching to the mac more than a year ago. whatever i do has seemed unreliable. i thought time machine would fix some of that, but i’ve read about restore issues and also it fails for me on a regular basis and just craps out. so i ditched it. right now i’m using mimeo and want to experiment with their sync features to keep important stuff sync’d on various machines in various locations. the backup seems to work fairly well. i really like your idea about duplicating your email. i use fastmail and think sending it to a second imap server makes a ton of sense for an extra few bucks a year. thanks again.
Great article. I just lost a hard drive right before a deadline, I am now implementing using SVN, as well as version control will be nice.
What S3 scripts are you using, would you mind sharing?
I believe I’m using this on the web server. I use JungleDisk on the desktop.
The great thing about HD clones vs. SVN or syncing solutions is you are back up and running very quickly; assuming you have a replacement for whatever broke.
for the folks looking for a MySQL backup solution, you might look at Zmanda’s free and open source ZRM package. we use it, and i detailed the setup instructions here.
at its core, it’s using the same mysqldump facility you can get at via cron, but it handles versioning and encryption as well.
So there I was last week, staring in disbelief, at the blue screen of death. I had not seen that in years.
And behind that bsod was every website, every invoice, every Photoshop file, every Illustrator file, every scrap of my digital being. Disbelief gave way to denial, as in, “Oh no, you did not just crash on me…”
I looked at my ezBackUp drive sitting on the bookshelf behind me (disconnected and unused, of course) and began making colorful pleas and heartfelt promises to the digital gods. Can you believe I actually got the darn thing down from the bookshelf and dusted it off as if THAT was going to fix my hard drive. Dogged determination would make that bsod just go away at the next attempt to boot.
Thanks for the post, Alex! I’m livin’ it.
[…] Alex King describes how he accomplishes backups. […]
Have you read jwz’s article on backups on the Mac? It’s a decent overview on how to use rsync to back up everything. Could be used in place of SuperDuper.
[…] Current Backup Solution | alexking.org everyone needs one of these (tags: backup alexking howto) […]
Alex, would you explain why you used Time Machine first, before uperDuper? It doesn’t seem like you use it eer again in this process.
Thanks!
Once you set up Time Machine, it will run hourly. This is a nice way to recover anything that has changed since your last clone should something go wrong.
Wow, your mysql backup strategy is very close to mine. For a mediawiki kbase at work I do four daily dumps, gzip them and ship them offsite. The space they occupy is trivial – the data they contain is priceless. Its nice to see someone else doing the same to justify my low tech approach. 🙂
I recently went one further. Purchased secondary DNS from another provider. This way if my primary hosting (which has DNS in a 2nd facility) were to have a massive problem, mail still can work.
Many people forget DNS is a failure point if both DNS are in the same DC.
I’ve now got DNS in several data centers, and multiple providers. There’s no single point of failure other than hacking the authoritative server.
Next up in my battle to become more redundant is failback mail to a 2nd provider.
That’s a lesson I’ve already learned the hard way.
@Thomas Hall regarding rsync:
I love rsync as a backup tool (and even more so, rsnapshot, a script that will do incremental backups using rsync without wasting a lot of disk space).
HOWEVER, on the Mac there are plenty of issues with using rsync to do backups as Mac file systems have all kinds of gotchas that unix/linux file systems do not.
See e.g. this page:
http://inik.net/node/151
At the risk of sounding like an advert (I’m not linkspam, honest!) I’ll be investing in an HP HomeServer soon – it’s got an agent that runs on Windows to back up any connected machines either overnight on on-demand. It’s not Time Machine, but it’s a damn good solution for the M$ fans, imho.
If only it would back up my Ubuntu machine as well…