Pyinotify: supervise los cambios del sistema de archivos en tiempo real en Linux


Pyinotify es un módulo de Python simple pero útil para monitorear los cambios del sistema de archivos en tiempo real en Linux.

Como administrador del sistema, puede usarlo para monitorear los cambios que ocurren en un directorio de interés, como un directorio web o un directorio de almacenamiento de datos de aplicaciones y más.

Depende de inotify (una característica del kernel de Linux incorporada en el kernel 2.6.13), que es un notificador controlado por eventos, sus notificaciones se exportan desde el espacio del kernel al espacio del usuario a través de tres llamadas al sistema.

El propósito de pyinotiy es vincular las tres llamadas al sistema y admitir una implementación sobre ellas, proporcionando un medio común y abstracto para manipular esas funcionalidades.

En este artículo, le mostraremos cómo instalar y usar pyinotify en Linux para monitorear los cambios o modificaciones del sistema de archivos en tiempo real.

Para usar pyinotify, su sistema debe estar ejecutando:

  1. Kernel de Linux 2.6.13 o superior
  2. Python 2.4 o superior

Cómo instalar Pyinotify en Linux

Primero comience verificando las versiones de kernel y Python instaladas en su sistema de la siguiente manera:

# uname -r 
# python -V

Una vez que se cumplan las dependencias, usaremos pip para instalar pynotify. En la mayoría de las distribuciones de Linux, Pip ya está instalado si está usando Python 2> u003d 2.7.9 o Python 3> u003d 3.4 binarios descargados de python.org; de lo contrario, instálelo de la siguiente manera:

# yum install python-pip      [On CentOS based Distros]
# apt-get install python-pip  [On Debian based Distros]
# dnf install python-pip      [On Fedora 22+]

Ahora, instale pyinotify así:

# pip install pyinotify

Instalará la versión disponible del repositorio predeterminado, si está buscando tener una última versión estable de pyinotify, considere clonar su repositorio git como se muestra.

# git clone https://github.com/seb-m/pyinotify.git
# cd pyinotify/
# ls
# python setup.py install

Cómo usar pyinotify en Linux

En el siguiente ejemplo, estoy monitoreando cualquier cambio en el directorio de inicio (/ home/tecmint) del usuario tecmint como usuario raíz (que inició sesión a través de ssh) como se muestra en la captura de pantalla:

# python -m pyinotify -v /home/tecmint

A continuación, estaremos atentos a cualquier cambio en el directorio web (/var/www/html/tecmint.com):

# python -m pyinotify -v /var/www/html/tecmint.com

Para salir del programa, simplemente presione [Ctrl + C] .

Nota: Cuando ejecuta pyinotify sin especificar ningún directorio para monitorear, el directorio /tmp se considera por defecto.

Obtenga más información sobre Pyinotify en Github: https://github.com/seb-m/pyinotify

¡Eso es todo por ahora! En este artículo, le mostramos cómo instalar y usar pyinotify, un útil módulo de Python para monitorear cambios en los sistemas de archivos en Linux.

¿Se ha encontrado con módulos de Python similares o herramientas/utilidades de Linux relacionadas? Háganos saber en los comentarios, tal vez también pueda hacer cualquier pregunta en relación con este artículo.