Hacer que locator.updatedb se ejecute diariamente en Snow Leopard sin hackeo / Sistema / Biblioteca?

4

En Snow Leopard, la base de datos locate se actualiza una vez a la semana por un trabajo launchd, /System/Library/LaunchDaemons/com.apple.locate.plist . Me gustaría hacer que el actualizador se ejecute a diario, pero AFAIK se considera muy mal para editar cualquier cosa en /System .

¿Cuál es la mejor manera de cambiar su StartCalendarInterval para que se ejecute una vez al día?

    
pregunta Aaron Davies 29.07.2011 - 20:50

2 respuestas

6

De la forma en que lo entiendo, el trabajo launchd de la carpeta del sistema no hace más que ejecutar /usr/libexec/locate.updatedb .

Simplemente crea tu propio trabajo launchd ejecutando /usr/libexec/locate.updatedb que se ejecuta una vez al día.

Como una nota al margen, aquí hay una respuesta de Superusuario que recomienda usar mdfind -name <filename> en lugar de locate para que pueda usar la base de datos de Spotlight que se actualiza continuamente.

Y esto Ask Different answer tiene más información sobre cómo crear trabajos launchd si necesita más ayuda con eso.

    
respondido por el ghoppe 29.07.2011 - 20:58
0

El problema con 'localizar' y con Spotlight es que no busca todos los archivos. Solía ser posible solucionar esto actualizando el updatedb como root, lo que le advertiría que se trataba de un posible agujero de seguridad (es decir, cualquier persona con acceso de lectura a la base de datos podría obtener una lista de cada archivo en $ HOME de cualquier usuario), pero ya que la mayoría de los usuarios de Mac son los únicos usuarios en sus computadoras, eso no fue una gran preocupación.

Finalmente me harté tanto que escribí mi propio script que:

  • haga un índice de texto sin formato de cada archivo, enlace y directorio
  • busca ese índice usando egrep
  • ofrece restringir las búsquedas a $ HOME o al directorio actual si se dan ciertos argumentos
  • si no se encuentra nada en el índice, ofrezca actualizar el índice o busque con mdfind

Puede descargar el script aquí [enlace de Dropbox]. Debería ser bastante fácil entender cómo funciona con solo leerlo.

    
respondido por el TJ Luoma 06.09.2011 - 05:33

Lea otras preguntas en las etiquetas