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