¿Cómo registrar todos los eventos realizados en el directorio?

12

¿Cómo puedo registrar todos los eventos realizados en un directorio particular?

Quiero registrar la entrada de cada directorio modificado dentro de algún tiempo. Estoy usando el find . -type d -mmin -5comando

Además de esto, quiero poner más detalles, cuando cualquier directorio se mueve a otro lugar, necesito agregar los detalles de registro a continuación, por ejemplo,

el directorio "xyz" se movió de "home / usr / xyz" => a "home / usr / documents / xyz"
Ghanshyam Rathod
fuente

Respuestas:

9

Si lo usa Linux, debe probar el inotifywaitcomando, está diseñado para escuchar eventos en archivos o directorios.

inotifywait -m -r /dir

Puede usar un whilebucle sobre eso para filtrar la salida.

Además, es muy ligero: no es necesario poll()cada N segundos, eso es toda la magia.

Ver http://inotify-tools.sourceforge.net/

Gilles Quenot
fuente
Documento de proyecto URL agregado.
Gilles Quenot
inotifyes específico de Linux pero la pregunta no está etiquetada como Linux. Sin embargo, las buenas soluciones serán específicas del sistema operativo como esta.
jordanm