Ending Endless Time Machine Backups

I've been having a serious problem with, of all things, my Time Machine backups, which is a huge problem as my computer dies a slow, painful death and I wait for the imminent MacBook Pro hardware release. Since replacing my internal hard drive, Time Machine had seemingly decided to perform only full backups. For me, a full backup is a few hundred gigs, so every backup was taking several hours to perform. 

There is a terrific website that details nearly every problem you can have with Time Machine, as well as solutions for these problems. It's official title is Apple OS X and Time Machine Tips, but everyone just calls it pondini.org. It is the resource for your Time Machine troubles.

I tried pretty much every fix listed on that site and nothing worked.

After watching Time Machine roll over for the umpteenth time, however, I began to notice a pattern. For one, each time the backup began anew, the amount of data to back up was the same. In addition to this, it was not the full amount of my combined multi-volume backup. After poking about a bit with the ever handy tmutil command, I began to suspect that the trouble might lie not with Time Machine itself, but rather with one of the data volumes I was attempting to back up. 

So I started looking at my Work volume. This is the big ATA drive that holds the bulk of my data, while my system resides on a separate SSD. The Work volume was also the one that had recently died and been backed up. One thing I noticed about it was that it appeared to have ACLs and Extended Attributes on it. More importantly, some of those Extended Attributes appeared to be specific to Time Machine.

computername:~ username$ xattr /Volumes/Work/ com.apple.FinderInfo com.apple.backupd.SnapshotVolumeFSEventStoreUUID com.apple.backupd.SnapshotVolumeLastFSEventID com.apple.backupd.SnapshotVolumeUUID com.apple.backupd.VolumeBytesUsed com.apple.backupd.VolumeIsCaseSensitive com.apple.metadata:_kTimeMachineNewestSnapshot com.apple.metadata:_kTimeMachineOldestSnapshot

So I decided to turn off ACLs and also to remove the Extended Attributes.

computername:~ username$ sudo chmod -RN /Volumes/Work
computername:~ username$ for attr in `xattr /Volumes/Work`; do sudo xattr -d $attr /Volumes/Work; done

I also found a terrific web page that described the exact same problem I was having, and how they fixed it using this exact same method. That site filled in a few blanks for me, namely how to remove the Extended Attributes.  So thanks to expat.dyndns.org for the clear, well written article.

Since removing the Extended Attributes and ACLs from my Work volume, backups have been working properly — which is to say incrementally — once again.  

My computer is still dying. But at least when it does I'll have a current backup.