Evite que Spotlight indexe futuros discos duros

Usando Mavericks, ¿cómo puedo evitar que Spotlight indexe todas las unidades excepto mi unidad interna principal? En mi trabajo, conecto docenas de unidades nuevas cada semana y no quiero que se cree la carpeta .Spotlight-V100 en ellas.

Sé que puedo agregar cada unidad a la lista de privacidad de Spotlight, pero eso solo se puede hacer después de conectar la unidad y luego la carpeta .Spotlight-V100 ya se ha creado.

Podría deshabilitar Spotlight por completo, pero luego pierdo la conveniencia de indexar mi disco interno. Quiero usar Spotlight solo para mi unidad interna y deshabilitarlo para todas las demás unidades, incluidas las que aún no se han conectado.

algo como desactivar el puerto USB?

Respuestas (2)

Un archivo llamado

.metadata_never_index

lugar en la raíz de cualquier volumen suprimirá el comportamiento de indexación.

Puedes generar este archivo automáticamente

los siguientes archivos deben crearse como root

el siguiente script de shell creará el archivo necesario en caso de que no se encuentre una entrada de Spotlight activa (menos de 30 días).

/var/root/unindex.sh

para crear esto

sudo vi /var/root/unindex.sh

o usa tu editor de texto preferido

Los contenidos deben ser

#!/bin/bash
# suppress spotlight indexing of new volumes
# pc 26-june-2014 v0.1
# v 0.2 27-june-2014 add mdutil

# get the last volume mounted

vol=$(df)
vol=${vol##*%}
echo $vol




# is this a volume that has been indexed in the past month

count=$(find ${vol}/.Spotlight-V100 -mtime -30 | wc -l )
[[ $count -gt 1 ]] && {

# then it remains so

logger -t unindex spotlight activity detected in last 30 days
exit 0
}

# else create index supression file
logger -t unindex creating ${vol}/.metadata_never_index
touch ${vol}/.metadata_never_index
# and stop spotlight indexing the drive
logger -t unindex mdutil -i off /Volumes/${vol}
mdutil -i off /Volumes/${vol}

asegúrese de que se puede ejecutar...

sudo chmod a+x /var/root/unindex.sh

ahora agregue una entrada a launchd, cree el archivo

/Library/LaunchDaemons/org.misctools.unindex.plist

para crear esto

sudo vi /Library/LaunchDaemons/org.misctools.unindex.plist

con contenido

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.misctools.unindex</string>
    <key>ProgramArguments</key>
    <array>
        <string>/var/root/unindex.sh</string>
    </array>
    <key>RunAtLoad</key>
    <false/>
    <key>StartOnMount</key>
    <true/>
</dict>
</plist>

ahora activa el trabajo

sudo launchctl load /Library/LaunchDaemons/org.misctools.unindex.plist

el trabajo se iniciará cada vez que monte un disco, busque en la consola los mensajes filtrados por 'unindex' para sus acciones, por ejemplo, desde mi máquina

 26/06/2014 09:02:35.824 unindex[1362]: creating /Volumes/hfs/.metadata_never_index
Respuesta muy completa, gracias. Le daré una oportunidad a esto mañana. No conocía la función StartOnMount. ¿Está seguro de que este script se ejecutará lo suficientemente rápido antes de que Spotlight comience a indexar?
Funcionó en una unidad, pero no en otra. El syslog muestra que Spotlight funciona justo antes de que comience la desindexación.Jun 26 19:33:00 macpro mds[12724]: (Normal) Volume: volume:0x7fa145816800 ********** Bootstrapped Creating a default store:3 SpotLoc:/Volumes/B025_0626AI/.Spotlight-V100 SpotVerLoc:/Volumes/B025_0626AI/.Spotlight-V100/Store-V1 occlude:0 /Volumes/B025_0626AI Jun 26 19:33:00 macpro unindex[13367]: creating /Volumes/B025_0626AI/.metadata_never_index
Parece que puede estar fallando en las unidades que no tienen una carpeta destacada
Parece ser aleatorio. He probado alrededor de una docena de unidades hoy, ninguna de las cuales contiene una carpeta de Spotlight. Para la mitad de ellos, su secuencia de comandos se ejecuta primero, mientras que la otra mitad ejecuta Spotlight primero.
Ok, he usado la sugerencia njboots de mdutil para detener explícitamente la indexación del volumen de Spotlight. Spotlight y el evento Mount se ejecutan de forma asincrónica, por lo que es aleatorio cuál entra primero. La edición está en el archivo unindex.sh.

Utilice la herramienta de línea de comandos mdutil .

Por ejemplo, supongamos que conecta un volumen registrado en HFS+ llamado "LEAVE_ME_BE"

Use el siguiente comando para deshabilitar la indexación del volumen. Si la propiedad está habilitada, ejecutar según sudosea necesario:

sudo mdutil -i off /Volumes/LEAVE_ME_BE

Verifique el estado de indexación de todos los volúmenes conectados:

mdutil -s /Volumes/*

Lea la página de manual vinculada anteriormente para obtener más opciones.