19.7 C
New York
Wednesday, June 18, 2025

purposes – Forestall com.apple.find from scanning my Time Machine drive?


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, nevertheless 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 in another way.

The proper resolution to this drawback is to supply totally different exclusion guidelines, fortunately this may be modified in /and so forth/find.rc (because of Linc Davis for pointing this out), because the launchd process and script are each coated by System Integrity Safety.

One other a part of the issue is that backupd has a behavior of leaving snapshots mounted beneath /Volumes/.timemachine when it now not wants them, which seems to be the place the discover course of is getting caught, so unmounting these gives one other attainable resolution.

So this offers two attainable options (each would require you to be logged in as root to do that, if you do not know how or usually are not comfy with the command line then it’s possible you’ll simply have to attend for Apple to repair this):

Add Customized Exclusions to /and so forth/find.rc

Since this file could also be changed throughout macOS updates, we will use a launchd process to use the change robotically on system begin.

  1. Create a launchd process to use the change (see beneath)
  2. Load the launchd process with: launchctl load /Library/LaunchDaemons/customized.locatefix.plist

/Library/LaunchDaemons/customized.locatefix.plist





    Label
    customized.locatefix
    ProgramArguments
    
        sed
        -I
        .backup
        s:#PRUNEPATHS="/tmp /var/tmp":PRUNEPATHS="/personal/tmp /personal/var/folders /personal/var/tmp */Backups.backupdb /Volumes/.timemachine /Volumes/com.apple.TimeMachine.localsnapshots */*-*-*-*.inprogress */*-*-*-*.earlier":
        /and so forth/find.rc
    
    RunAtLoad
    


The added paths are:

  • /Volumes/.timemachine and /Volumes/com.apple.TimeMachine.localsnapshots – ignore mounted Time Machine snapshots
  • */*-*-*-*.inprogress and */*-*-*-*.earlier – ignore working backup folders within the type that Time Machine on APFS makes use of.

AND/OR

Unmount Leftover Snapshots

  1. Flip off computerized Time Machine backups in System Preferences.
  2. Create a launchd process that may set off Time Machine, and cleanup snapshot mounts afterwards (see beneath for a pattern process).
  3. 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 may run Time Machine each hour, on the hour (or after waking, in case your laptop was asleep on the time), and after working efficiently it’s going to search for all snapshots mounted beneath /Volumes/.timemachine and attempt to unmount them, so com.apple.find will not be capable to index them.

Whereas this feature is a bit of cleaner (and is beneficial in order for you 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 not any assure com.apple.find will not run whereas snapshots are nonetheless mounted, although with the mounts being cleaned up the prospect of that must be low.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles