Short answer for at least macOS 10.13.6:
Remove any .inProgress backup from the backup volume. This may require root use of /bin/rm -rf
so proceed with caution.
Use the tmutil associatedisk
command to rebind the backup volume to the main volume. For example:
sudo tmutil associatedisk -a / "/Volumes/Time Machine Backups/Backups.backupdb/Macintosh HD/Latest/Macintosh HD"
Then start a backup from the Time Machine menu item. In my case, instead of finishing the scan in 10 minutes (clearly not a full scan) and showing a terabyte to backup, the scan took over 30 and the backup size matched what tmutil compare
had been saying.
Background:
I needed to force a deep traversal / full scan after an rogue installer (Reallusion) changed the permissions on everything in "/Users/Shared" (about 1 terabyte of otherwise unmodified files). I changed them all back, and tmutil
confirmed that time machine did not need to back those files up anymore, but one of two backups disks insisted on using some cached scan that said it did.
Things that did not work:
Removing and re-adding the backup volume from system preferences
Clearing out /.fseventsd
Installing a system update
Removing the .inProgress backup without running tmutil associated disk
Running tmutil associated disk
without removing .inProgress
Booting into single user mode, mounting / as read-write, and touching a file
In most cases, the backupd logs would claim to be doing a deep traversal, but would take only a few minutes and then try to backup everything. Here's the command to monitor backupd
live on 10.13 at later:
log stream --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info
That will only show new events. To logs from the last three days:
log show --style syslog --predicate 'senderImagePath contains[cd] "TimeMachine"' --info --last 3d