Backup Doesn't


My previous entry, “Data Violence”, mentioned that Apple’s Backup utility didn’t work for some files that mattered a lot to me. One of these was my Quicken file. (Familiar with that program?) The worst part is that Backup appears to back the file up, but it’s only backing up the peripheral data, not the all-important register data.

This is the worst kind of software bug to encounter. When the program assures you that all is well while quietly dumping or corrupting your data, especially data that you will access infrequently, you are pretty well up the creek. Backup data falls squarely into this category. It’s data that you actually hope you will not have to read. If your computer never crashes, you probably never will. But if it does, you are suddenly, and critically, dependent on this data.

In my case, I didn’t have a computer crash, but I was moving to a new computer and couldn’t use the Firewire-based migration tool because my old computer’s Firewire ports are dead. I figured that my Backup file was all I needed. I told it to restore my data onto the new computer, and all appeared to be well.

But when I opened my Quicken data file, I found to my shock that none of the entries in it were more than three months old. Why?

The problem is that a Quicken data file is not a single file, but something called a package. Many files in Mac OS X are like this, including most applications. In the Finder, the package looks and acts like a single file, but it’s actually a hierarchical list of directories (folders), whose structure is hidden from Finder users, unless you control-click the file and choose “Show Package Contents”. In the case of Quicken, the register data is located in a file called “Data File” in a folder called “Contents” inside the package.

When Quicken updates the register data, it updates the time stamp of “Data File” but not the time stamp of “Contents”. Oh, it also updates the time stamp of the top-level package—the file you see in the Finder—but this isn’t enough for Backup, which tries to save time by skipping directories whose files haven’t changed.

Backup, trying to do a fast incremental backup, assumes, reasonably, that if a file inside a directory has changed, that the time stamp of its containing directory has also been updated. This is generally true, but not inside of the Quicken files. Bang. My data’s dead. The “Contents” directory’s time stamp is almost never updated, which means that my Quicken data file was only being backed up during those times when, for whatever reason, I would delete and recreate my Backup file from scratch.

I don’t know who is the bad citizen here: Backup, for not treating a bundle as a single file, or Quicken, for updating its data file in a mysterious way that prevents Unix from updating the “Contents” directory. No matter whose fault it is, users like you and me need to back up our Quicken files some other way, and to remember that the only sure backup is a straight volume-to-volume Finder copy.

Posted: Sat - June 4, 2005 at 07:40 PM        


©