Evita que Spotlight indexe futuros discos duros

6

Con Mavericks, ¿cómo puedo evitar que Spotlight indexe todas las unidades excepto la 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 se creó la carpeta .Spotlight-V100.

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

    
pregunta Elliott 26.06.2014 - 06:14

2 respuestas

3

Un archivo llamado

.metadata_never_index

colocar 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

la siguiente secuencia de comandos de shell creará el archivo requerido si no se encuentra una entrada de foco activa (con menos de 30 días de antigüedad).

/var/root/unindex.sh

para crear esto

sudo vi /var/root/unindex.sh

o usa tu editor de texto preferido

El contenido debe 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 pueda ejecutarse ...

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 contenidos

<?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
    
respondido por el Paddy Carroll 26.06.2014 - 10:12
2

Use 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, puede ser necesario ejecutar sudo :

sudo mdutil -i off /Volumes/LEAVE_ME_BE

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

mdutil -s /Volumes/*

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

    
respondido por el njboot 26.06.2014 - 10:48

Lea otras preguntas en las etiquetas