Tengo un script que escanea un directorio y realiza algunos trabajos de mantenimiento en los archivos que contiene. Otro proceso crea los archivos en el directorio (10-30 archivos por día).
El script se llama a través de un trabajo cron diario. Lo que necesito es activar el script en un evento (cada vez que se crea un nuevo archivo en el directorio). Prefiero esto en lugar de aumentar la frecuencia del trabajo cron.
¿Cómo puedo hacer eso? ¿Hay un comando o un programa para instalar?
Gracias de antemano por cualquier ayuda.
fuente
incron
elinoticoming
uno es aquí .También hay un pequeño programa llamado
iwatch
: vea la página de manual (esta página es para Ubuntu precisa (12.04), tiene enlaces a otras versiones de ubuntu).iwatch
tiene la capacidad de ver las carpetas de forma recursiva (es decir: subcarpetas también) y enviar correos electrónicos en respuesta a eventos de archivo / directorio.fuente
Otra utilidad que vale la pena saber es
fileschanged
( página del manual aquí ), que puede monitorear eventos del sistema de archivos en archivos o directorios seleccionados, por ejemplo, el siguiente comandodebe monitorear el directorio actual para detectar eventos de creación de archivos, escribiendo el nombre del archivo creado
stdout
con un tiempo de espera de 1 segundo.fileschanged
puede ver carpetas de forma recursiva (como se puedeiwatch
observar en otra respuesta), a diferencia deincron
yinoticoming
.fuente
la página del manual de inotify se encuentra allí
si prefieres scripts de python, puedes usar pyinotify
fuente