Mojave’s Time Machine 1.5: Working well but small quirks

macOS Mojave changed Time Machine significantly, so much so that I have referred to it as version 1.5, midway in its journey to supporting backup to APFS volumes, which will effectively be Time Machine 2. Like you, I’ve been running it since last year, and keeping a watch using my free T2M2 utility. This article looks back to see how it’s been doing.

Prior to Apple’s new APFS file system, Time Machine worked out what to back up by examining the macOS logs of file system events, FSEvents. APFS brought with it a new opportunity: make a snapshot of an APFS volume, and compare that with one taken at the time of the last backup. Then Time Machine needs only to back up those items which have changed between those two.

This begs lot of questions. If a file or folder hasn’t actually changed, just been moved, will that trigger it to be backed up, for instance? As this change wasn’t even announced, let alone documented, we’re just left to observe and guess what has happened. Making all these snapshots also offers another new feature: if something goes drastically wrong, you can restore that volume to the state of an earlier snapshot. I haven’t come across anyone who has actually done that, though, on the strength of their hourly Time Machine snapshots.

It’s also worth remembering that HFS+ volumes don’t make snapshots in the same way that APFS does. I therefore presume that, when backing up HFS+ volumes, Time Machine 1.5 still relies on the old FSEvents system.

That old system periodically failed, perhaps when FSEvents lost track of recent changes, or became corrupted. In those circumstances, Time Machine would perform a lengthy ‘deep traversal scan’ to determine what needed to be backed up, which could in some cases take several hours. One strong case for adopting a new approach with APFS was to reduce the frequency of those deep traversals by using a more robust mechanism for determining what to back up. There’s no evidence that the new snapshot-based system is any quicker – indeed, in many cases it may perform more slowly than using FSEvents.

Watching Time Machine 1.5 on Mojave, it appears thoroughly reliable. The scheduling problem which blighted Sierra doesn’t occur, and backups are run reliably every hour.

However, deep traversal scans do still occur on APFS volumes. In one period of only 8 hours, my iMac Pro undertook and completed two such scans, as shown in the T2M2 report below.

tmmojave01

I suspect in this case, backing up two APFS volumes to a single backup folder, there was a single deep traversal of each of those two volumes, which took over 40 minutes for a total of about 1.2 TB. No reason was apparent for this, and there was no interruption to the routine making of snapshots as part of backups.

That report also highlights an error which continues to occur during backing up with Time Machine 1.5:
2019-02-28 12:55:23.945136+0000 Error: (-5000) SrcErr:NO Copying /Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Howard’s iMac Pro/2019-02-28-125356/Macintosh HD/Users/hoakley/Library/Group Containers/493CVA9A35.com.red-sweater/Library/Application Support/MarsEdit4/App Store Receipts/D0817AD589EB to /Volumes/PROMISE PEGASUS 1/Backups.backupdb/Howard’s iMac Pro/2019-02-28-125356.inProgress/60BA65CE-7F58-4814-BF4A-87900CC2C98B/Macintosh HD/Users/hoakley/Library/Group Containers/493CVA9A35.com.red-sweater/Library/Application Support/MarsEdit4/App Store Receipts

It’s unclear why that happens randomly, and it is the only error which has been reported, and continues to occur a couple of times each day. The error number oddly comes from the CarbonCore framework (which I thought was all but dead), and reports that the user doesn’t have the correct access to that file over AFP (which is dead). Perhaps it’s just an echo from the grave.

Another aspiration for many was that version 1.5 might back up less of macOS background activity, and reduce the quantity backed up when a Mac is just idling. When not asleep, merely idle, backups from my boot disk remain fairly steady at a little less than 1 GB per hour, varying between about 650-700 MB. In contrast, an external non-bootable SSD may not have anything to back up at all, or less than 1 KB. This has changed little since Time Machine 1.0.

tmmojave02

Time Machine 1.5 appears to do the job at least as effectively as its predecessor. Its new mechanism, based on comparing APFS snapshots, appears to work as well as that in the previous version. Apart from providing twice-hourly snapshots, it doesn’t appear to have any particular advantage over the earlier version based on FSEvents. In particular, it doesn’t make backups any quicker, nor does it make ‘deep traversal scans’ a pain of the past.

Hopefully Time Machine 1.5 is but an intermediate step to version 2.0 in macOS 10.15, which should support backing up to an APFS volume. That will require a very different structure for those backups, which doesn’t rely on directory hard links. We’ll see.