2 votos

¿Ejecutar locate.updatedb todas las noches en lugar de semanalmente?

man locate.updatedb dice que la base de datos para locate se actualiza semanalmente.
Eso es confirmado por /System/Library/LaunchDaemons/com.apple.locate.plist, que tiene

Weekday
6

Para ejecutarlo todas las noches en lugar de solo ese día de la semana, como root intenté eliminar esa parte:
plutil -remove StartCalendarInterval.Weekday /System/Library/LaunchDaemons/com.apple.locate.plist
Pero falló, "Operación no permitida," sin más explicación.
¿Cómo puedo hacer que updatedb se ejecute todas las noches?

Sequoia 15.0.1, macbook pro, M3 pro.

4voto

Linc D. Puntos 11

El archivo que intentaste editar está en el volumen del sistema de solo lectura y no se puede modificar, como descubriste. Pero puedes hacer el cambio que deseas siguiendo estos pasos.

1. Desactiva el trabajo integrado para actualizar la base de datos locate

Este paso es opcional, pero evitará que la base de datos se actualice dos veces en un día, una vez a la semana.

sudo launchctl disable system/com.apple.locate

Para revertir este paso:

sudo launchctl enable system/com.apple.locate

2. Crea un nuevo trabajo para actualizar la base de datos

Copia el archivo del trabajo en la carpeta LaunchDaemon escribible y dale un nombre diferente:

sudo cp -p /System/Library/LaunchDaemons/com.apple.locate.plist /Library/LaunchDaemons/locate.plist

El nombre mostrado es solo un ejemplo; puedes usar cualquier nombre (único) que desees. Ahora edita el nuevo archivo para que tenga el siguiente contenido:

    Label
    locate
    ProgramArguments

        /usr/libexec/locate.updatedb

    ProcessType
    Background
    KeepAlive

        PathState

            /var/db/locate.database

    StartCalendarInterval

        Hour
        3
        Minute
        15

    AbandonProcessGroup

Por último, inicia el nuevo trabajo:

sudo launchctl enable system/locate

Para probar la configuración, puedes ejecutar el trabajo inmediatamente:

sudo launchctl kickstart system/locate

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X