Time Machine Backup Failed, and I Finally Figured Out Why
After seeing so many threads about Time Machine failing to backup, I think the meta reason is that the Time Machine app doesn't provide enough feedback when it fails. This may be by design (keep it simple), but this design philosophy does no favor to people who have a higher level of understanding and just need a hint or two about what is going wrong, in order to fix it.
For hours I struggled with a Time Machine backup failure. The destination volume was an 8TB external disk with more than 4 TB free. The amount to be backed up was about 14 GB spread out among my SSD and local internal drive. Invariably the backup would grind away for a long time, report that it was making progress, but upon completion the last backup date was not updated. The backup silently failed.
None of the log messages was illuminating when I tried displaying Time Machine log entries by entering this command into a Terminal window:
printf '\e[3J' && log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 10000
I tried rebooting, and ran DiskUtility to repair the Time Machine disk. It was just a waste of time. Do you know how long it takes to run Repair on an 8TB Time Machine backup disk?
Now, I can't be certain, but I'm pretty sure that the reason for my Time Machine backup failure was simply that my boot volume was getting low on space. I think it "only" had about 10 GB free. To fix this, I moved some iTunes video downloads off of my boot volume and onto my other internal hard drive, creating 30 GB of free space on my boot volume. Ever since I did this, Time Machine has worked perfectly. Since both internal volumes are backed up, I'm not backup up fewer bits after the move; rather, some of those same bits are now coming from a different location.
If indeed low disk space of only 10 GB on the boot volume is a fatal error for Time Machine, then it sure would be nice if the Time Machine app would preflight each backup and issue a warning if some prerequisite was not in place.
Better still would be for Apple to hire additional good developers and QA to test boundary conditions for the critical function of backup. I find it absurd that the only indication that the backup failed is that the date of the last good backup remains unchanged.
Mac Pro