Our company recently updated my colleague’s aging Powerbook to a brand spanking new dual-G5 desktop with a 20″ Apple Cinema Display. (I expect his productivity to quadruple 🙂 This is the same setup I have at home, and so Mike ask me to put together some notes regarding my backup strategy. I decided to write this up as a blog article, for later reference.
Overview and objectives.
My years of using Dantz’s Retrospect backup software were characterized by:
- Buggy software versions, that never quite seemed to keep up with the latest release of MacOS X.
- An inordinant amount of money and time spent purchasing, swapping and rotating media (tapes, DVDs, etc.)
- Recovering needed files was cumbersome, and sometimes impossible due to some subtle misconfiguration of my daily, weekly, monthly full- and incremental set of backup scripts.
I finally gave up on Retrospect, and decided to search for a new backup system/strategy. My objectives included:
- I should be able to immediately get back to work in case of primary disk failure.
- Operation of the backup system should involve my intervention as little as possible.
- Retrieval of files should be fast and reliable.
I settled on a system that meets these criteria, and have been happy with it for the past three or four years.
Following are the tools used in my backup system:
- Qdea’s Synchronize Pro X. Synchronize Pro is a general purpose, industrial strength, backup and synchronization utility, capable of maintaining a bootable mirror, and archiving modified or deleted files.
- Michael Tsai’s DropDMG. DropDMG, as its name implies, is a utility for creating DMG (and now, other types of) archives. As to be expected from a MIT computer science grad, DropDMG is (like all Michael’s products) of top quality.
- Skytag’s File Buddy. FileBuddy is a general purpose searching and file management utility. Probably one of the oldest utilities on the MacOS platform.
- CDFinder. CDFinder is a disk cataloging utility.
Architecture and process.
Mirroring. My G5 desktop has a second internal drive, of equal capacity to the primary startup drive. I use SyncPro to, automatically each night, mirror my startup drive to my secondary drive. If my startup drive ever dies, I can immediately boot from the secondary drive, and at maximum have lost one day’s work. (If a Powerbook were my primary machine, I would use an external Firewire drive in the role that G5’s second internal drive serves in this architecture.)
Archiving. Connected to my G5, I have a 160 GB external Firewire drive, to which SyncPro archives modified and deleted files, when mirroring my primary drive to my secondary drive. Say I’m working on a file that I created several days ago called “proposal.doc,” which has changed during the day. At night, when my SyncPro mirror script runs, it will detect that this file needs copying to the mirror drive, overwriting the older version of this file. Before over-writing the older version, SyncPro will archive a copy of that older version to my external Firewire drive that I’ve specified as my target destination for archives.
As you can see in this image, the “Current Group” folder contains a timestamped folder of archived files for each time SyncPro is run. (This allows multiple archived copies of the same file). You will also note that SyncPro preserves the folder structure (path) of archived files. Finally, you’ll also note a folder that’s sitting outside the “Current Group”, whose name (in this case) starts with “3207805120”. This is a folder containing a set of archived files whose total size is suitable for offline archiving to DVD (see more about this below).
In my mirror script, I’ve configured SyncPro to maintain 5 GB of free space on this external drive, thereby allocating the other 155 GB to storage of archived files. Once there remains only 5 GB of free space, SyncPro will begin deleting older archived files, to make room for new ones. In my experience, 155 GB of space gives me about half a year of archives.
One final note about archiving, SyncPro also allows you to specify certain exclusion criteria. For example, although I back them up, I do not archive my VirtualPC disk image files, nor system log files, etc.
Offline Archiving. One of SyncPro’s archiving features is the ability to “group” archived files into folders suitably sized for DVD archiving. In the above image, one such group is the folder whose name begins with “3207805120”. If I want, I can drag these folders to DropDMG, which will create a compressed DMG archive, and with the latest version, even directly burn the DVD for me. I can then use CDFinder to catalog that DVD’s contents for later searching.
I’m very lazy when it comes these kinds of things, so after offline archiving for about a year, I decided to stop. Since my archive drive’s 160 GB holds about half a year of achived files, I just decided that was sufficient, and so I disabled SyncPro’s “grouping” feature in my mirror script.
File retrieval. Whenever I need to retrieve a file, I launch FileBuddy, configure my search, and have it search only my archival Firewire disk. (There are, of course, a multitude of search options, including Spotlight. However, I’ve been using FileBuddy for so long that I’m simply not inclined to switch.)
The only thing missing from my backup strategy is an offsite backup, proctecting me in case of some disaster to the entire home. I do try, from time to time, to make a DVD-based snapshot of my important files, and store that DVD somewhere outside my home (e.g. my mother-in-law’s house). But, unfortunately, I don’t do this as often as I should.
Some might point out that should my archive drive fail, I’d also lose half a year of archived files. True. But that’d only cause me problems in case the drive failed and I needed to recover files. This, knock on wood, has never happened, and I expect the probability of it is quite low. (On that note, given how cheap external drives are, I could keep a mirror of my archive drive if I really wanted to.)
While the details are beyond the scope of this article, I use the same above procedure to keep a backup and archive of our company’s online directories, and our shared documents server. I use rsync and ssh to perform a nightly mirror to a location on my G5’s startup drive, and by way of the above procedure, maintain an archive of modified and deleted company files. (We also have a fancy corporate backup system in place, but this home mirroring and archiving gives me just that bit more peace of mind.)
- ChronoSync. ChronoSync is another excellent synchronization utility. I use it mainly for “folder” synchronization — for example, keeping certain folders in sync between my G5 and Powerbook. I like its user interface better than SyncPro’s. ChronoSync has just added archiving in its version 3.1, but still doesn’t support the creation of bootable backups (mirrors), and therefore still can’t serve as a SyncPro replacement for me. (And, honestly, as reliable as SyncPro has proven over the past several years, I’m not sure I’d replace it anyway.)
- SuperDuper!. For the task of only mirroring, SuperDuper! is an excellent utility. It seems very fast, and when I need to make a quick bootable copy of a drive (e.g. the Powerbook’s drive), I sometimes use SuperDuper!
- DiskTracker X. DiskTracker is an alternative cataloging utility that I was quite happy with for many years.