¿Acelerando el comando de búsqueda?

1

Necesito encontrar archivos enormes en el servidor Linux y donde muchas personas procesarán archivos enormes y la carga de datos ocurrirá. El comando "buscar" toma más tiempo para dar la salida. ¿Hay alguna otra manera de acelerar el resultado de mi comando que no sea simplificar mi ruta de búsqueda?

Gowtham A R
fuente
1
¿Son estos archivos con nombres de archivos específicos o solo archivos grandes en general?
Lawrence
No, no tienen nombres específicos. Podría ser de cualquier tipo. registros, archivos de texto, etc.
Gowtham A R

Respuestas:

3

Puedes usar dnotify. No especificó exactamente lo que quiere hacer, por lo que no puedo ser más específico, pero comentaré que dnotificar la página del hombre estados

dnotificar: ejecuta un comando cuando cambia el contenido de un directorio

Por ejemplo, este comando

 dnotify -CD -r /home/my_name -e echo change to {}

imprimirá "cambiar a" y luego el nombre del archivo cambiará, cada vez que se cree o elimine un archivo dentro de / home / my_name o cualquiera de sus subdirectorios.

Puede combinar esto con una lista creada previamente de archivos existentes para mantener una lista actualizada de archivos, para leerlos en lugar de encontrarlos.

MariusMatutiae
fuente
0

1) hombre localizar.

2) Si tiene relativamente pocos cambios o no son realmente importantes: cree un caché desde la jerarquía de su directorio con un tipo de búsqueda f en un archivo. Una vez. Más adelante puedes grep en este archivo, que es mucho más rápido.

peterh
fuente
1) Mi versión de localizar no permite filtrar resultados dependiendo del tamaño. 2) Eso significa agregar un crontab como echo "0 0 * * * root find / -size +XXXXXX ... >/var/tmp/bigfiles.txt" > /etc/cron.d/find_bigfiles
mveroone
Tienes razón, pero tu hallazgo puede.
peterh