Este tutorial repasará cómo implementar un script simple que use la API de Python y Linux inotify para monitorear los cambios en un directorio específico y registrar los cambios de la consola.
Antes de llegar al guión, discutamos brevemente cómo funciona Inotify.
Que es inotify? Como funciona?
Inotify es un subsistema de kernel que proporciona el mecanismo para monitorear los eventos dentro del sistema de archivos e informarlos a varias aplicaciones que les exigen. Inotify es increíblemente poderoso porque funciona en los niveles más bajos del núcleo y es personalizable para expandir la funcionalidad. Inotify puede monitorear cambios en directorios y archivos individuales.
Aunque inotify es poderoso, tiene algunas limitaciones. Estas limitaciones incluyen:
Sin embargo, inotify sigue siendo una opción mucho mejor que dnotify, su predecesor. Inotify es altamente aplicable en aplicaciones de seguridad como antivirus.
Ahora que tenemos la teoría básica inotify fuera del camino, nos sumergamos para construir el guión que nos ayudará a monitorear los cambios de directorio.
Instalación de Python y Watchdog
Antes de sumergirnos en el código, configuremos algunos requisitos, como instalar Python y el paquete Watchdog.
Para instalar Python3 en Debian, use el comando APT como:
actualización de sudo apt-get
sudo apt-get install python3.7 python3 -pip -y
Para instalar el paquete Watchdog, use el comando PIP3 como se muestra a continuación:
https: // pypi.org/Project/Watchdog/
sudo PIP3 Instalar Watchdog
Escribir el guión
El script que crearemos en este tutorial es muy simple. Considere el código fuente que se muestra a continuación:
Sys de importaciónComenzamos importando los módulos requeridos, incluido Watchdog. A continuación, creamos una función de monitor simple y establecemos la configuración, como el formato de salida y la fecha. A continuación, establecemos los argumentos de la ruta del directorio.
Luego nos movemos para crear un objeto Observador y lo establecemos para monitorear recursivamente los cambios en el directorio especificado a menos que se encuentre una interrupción del teclado (Ctrl + C)
Finalmente, llamamos a la función y ejecutamos el script. Obtendrá una salida como se muestra a continuación:
Conclusión
Usando este tutorial, hemos creado un script simple que monitorea los cambios en un directorio y los registra constantemente en la consola.