Time Machine är ett viktigt redskap för enkel backup, men det är inte fullt så pålitligt som man kanske tror. Jonathan 'Wolf' Rentzsch länkar till en inlägg på Apples utvecklarlistor där Alan Snyder beskriver en bugg i TM som Rentzsch kan återskapa själv.
Snyder frågar sig hur många som verkligen verifirerar att TM-backupen innehåller allting från original-disken:
I wonder how many people who read this list use Time Machine and, of those, how many have ever checked to see if the Time Machine backup is a faithful copy of the original volume(s).
I have done this check a couple of times and each time I have found a small number of serious problems, meaning important files that are either missing in the backup or are represented by an obsolete version. The obvious important files are simple text or document files or MP3 files written by me, nothing fancy involving long running daemons, no VMware, no networked file system, only locally mounted disks. Other files I am less sure about, such as Roxio disc catalogs, Firefox session stores, and Flash player settings.
I have also seen a larger number of less serious problems, like backup files with different modification times than the originals.
I do not see any obvious pattern to explain these errors.
Snyder har också hittat en direkt testbar bugg (detta är lite tekniskt):
However, I can demonstrate one (perhaps pathological) case where Time Machine fails to back up a file.
Here are the instructions:
Create a deep tree in your home directory:
mkdir -p a/b/c/d/e
Create a Time Machine backup. The file t1 will be created in the backup.
Rename the top level directory and create a new file in the tree.
mv a aaa
Restore the original directory name.
mv aaa a
Create a Time Machine backup. The file t2 will not be created in the backup.
An explanation for this failure can be found by examining the historical FS events for the volume in question. In a nutshell, there is no event that would instruct Time Machine to examine the "a" subtree for new files.
The actual situation is more complicated than I would have expected.
If I set up an event stream to watch my home directory, there is a historical event that corresponds to the creation of t2. The problem with this event is that the path is "Users/.../aaa/b/c/d/e", which is no longer a valid path (there is no directory named "aaa" when Time Machine is making the second backup). There is an event for the home directory, but it does not have the MustScanSubDirs flag set. Lacking any historical record of directory renamings, there is no reason for Time Machine to scan the "a" subtree.
However, if I set up an event stream to watch "/" or "/Users", the t2-creation event is not delivered. I can't explain this difference.