After digging into this additional myself I discovered that the com.apple.find
process (/System/Library/LaunchDaemons/com.apple.find.plist
) launches a script at /usr/libexec/find.updatedb
.
It seems inside that script that Time Machine volumes are meant to be excluded, nonetheless the trail for matching them is */Backups.backupdb"
which solely matches old-style (HFS+) Time Machine volumes, as APFS Time Machine volumes are structured very otherwise.
The proper resolution to this downside can be to offer totally different exclusion guidelines, however each the launchd process and script are lined by System Integrity Safety, although there’s a manner round this.
One other a part of the issue is that backupd
has a behavior of leaving snapshots mounted underneath /Volumes/.timemachine
when it now not wants them, which seems to be the place the discover
course of is getting caught, so unmounting these supplies one other attainable resolution.
So this provides two attainable options (each would require you to be logged in as root to do that, if you do not know how or aren’t snug with the command line then you might simply have to attend for Apple to repair this):
Add Customized Exclusions to /usr/libexec/find.updatedb
- Copy
/usr/libexec/find.updatedb
to a different location (comparable to/usr/native/lib
) - Discover the road:
: ${PRUNEPATHS="/personal/tmp /personal/var/folders /personal/var/tmp */Backups.backupdb"} # undesirable directories
- After
*/Backups.backupdb
add/Volumes/.timemachine
like so:: ${PRUNEPATHS="/personal/tmp /personal/var/folders /personal/var/tmp */Backups.backupdb /Volumes/.timemachine"} # undesirable directories
- Copy
/System/Library/LaunchDaemons/com.apple.find.plist
to/Library/LaunchDaemons
- Edit
/Library/LaunchDaemons/com.apple.find.plist
to level to your customized script (/usr/libexec/find.updatedb
to/usr/native/lib/find.updatedb
). - Unload the previous process utilizing:
launchctl unload -w /System/Library/LaunchDaemons/com.apple.find.plist
- Load your alternative process utilizing:
launchctl load /Library/LaunchDaemons/com.apple.find.plist
OR
Unmount Leftover Snapshots
- Flip off computerized Time Machine backups in System Preferences.
- Create a launchd process that can set off Time Machine, and cleanup snapshot mounts afterwards (see beneath for a pattern process).
- Load the launchd process with:
launchctl load /Library/LaunchDaemons/customized.backup.plist
/Library/LaunchDaemons/customized.backup.plist
Label
customized.backup
ProgramArguments
bash
-c
StartCalendarInterval
Minute
0
This can run Time Machine each hour, on the hour (or after waking, in case your pc was asleep on the time), and after working efficiently it’s going to search for all snapshots mounted underneath /Volumes/.timemachine
and attempt to unmount them, so com.apple.find
will not be capable to index them.
Whereas this selection is a bit of cleaner (and is beneficial if you need extra management over when Time Machine runs and what occurs earlier than and after it does) it has the draw back of timing since there is no assure com.apple.find
will not run whereas snapshots are nonetheless mounted, although with the mounts being cleaned up the prospect of that needs to be low.