Tutoriales

Cómo monitorear cambios de archivos con fswatch en Linux

reloj es una utilidad de monitoreo de cambios de archivos multiplataforma, de código abierto y gratuita que nos notifica cuando se modifica o cambia el contenido de un archivo o directorio específico. Usando fswatch, podemos monitorear fácilmente los cambios realizados en archivos y/o directorios. Es compatible con todos los sistemas operativos, incluidos GNU/Linux, *BSD, Mac OS X, Solaris y Microsoft Windows, etc.En esta breve guía, déjame mostrarte cómo Monitoreo de cambios de archivos con fswatch en sistemas operativos Linux y similares a Unix.

Tipo de monitoreo

Fswatch implementa los siguientes tipos de monitores.

  • Un monitor basado en la API de eventos del sistema de archivos de Apple OS X.
  • Un monitor basado en kqueue, una interfaz de notificación introducida en FreeBSD 4.1.
  • Monitor basado en la API de notificación de eventos de archivos del kernel de Solaris y sus derivados.
  • Un monitor basado en inotify, un subsistema del kernel de Linux que informa los cambios del sistema de archivos a las aplicaciones.
  • Un monitor basado en ReadDirectoryChangesW, una API de Microsoft Windows que informa los cambios de directorio.
  • Un monitor que periódicamente cuenta el sistema de archivos, mantiene los tiempos de modificación de archivos en la memoria y cuenta manualmente los cambios en el sistema de archivos.

rasgo

En cuanto a las características de fswatch, podemos enumerar las siguientes:

  • Utilidad multiplataforma y de código abierto.
  • Se admiten muchas API específicas del sistema operativo.
  • Supervisión recursiva de directorios.
  • Filtrado de rutas mediante expresiones regulares de inclusión y exclusión.
  • Formato de registro personalizable.
  • Se admiten eventos de inactividad periódicos.
  • Hay muchos más.
LEER  El 75% de los 1000 juegos principales de Steam ahora se ejecutan en Linux

Instalar fswatch en Linux

La utilidad fswatch está disponible en los repositorios predeterminados de las distribuciones populares de Linux.

Para instalar fswatch en Debian, Ubuntu, Linux Mint, Pop OS y otros sistemas basados ​​en APT, ejecute:

$ sudo apt install fswatch

Para instalar fswatch en Fedora, RHEL, CentOS, AlmaLinux y Rocky Linux, habilitar [EPEL] repositorio Usa el comando:

$ sudo dnf install epel-release

Luego instale fswatch usando el comando install:

$ sudo dnf install fswatch

Para instalar fswatch en openSUSE, ejecute:

$ sudo zypper install fswatch

Instalar fswatch desde la fuente

Si fswatch no está disponible para su distribución, puede compilar e instalar manualmente la última versión desde la fuente, como se describe a continuación.

Antes de compilar, necesita Instalar herramientas de desarrollo en su distribución de Linux. Para instalar herramientas de desarrollo en varias distribuciones de Linux, consulte las siguientes guías.

Luego, descargue los archivos fuente de fswatch de aquí.

$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.17.1/fswatch-1.17.1.tar.gz

Descomprimir el archivo descargado:

$ tar -zxvf fswatch-1.17.1.tar.gz 

Ir a la carpeta del proyecto:

$ cd fswatch-1.17.1/

Finalmente, compile e instale fswatch ejecutando los siguientes comandos uno por uno.

$ ./configure
$ make
$ sudo make install

Finalmente, ejecute el siguiente comando para actualizar el enlace y el caché de la biblioteca dinámica:

$ sudo ldconfig

Si no se ejecuta el comando anterior, puede ocurrir el siguiente error en los sistemas GNU/Linux.

fswatch: error while loading shared libraries: libfswatch.so.6: cannot open shared object file: No such file or directory

Finalmente, verifique la versión de fswatch para asegurarse de que esté instalada correctamente:

$ fswatch --version
fswatch 1.17.1
Copyright (C) 2013-2021 Enrico M. Crisostomo .
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Enrico M. Crisostomo.

Instalar fswatch en FreeBSD

En FreeBSD, puede instalar usando fswatch pkg como root:

# pkg install fswatch-mon

Monitoreo de cambios de archivos con fswatch en Linux

El uso de fswatch no es gran cosa. La sintaxis típica para fswatch es:

$ fswatch [options] ... path-0 ... path-n

Para probar cómo funciona fswatch, abra dos ventanas de terminal (llamémoslas Terminal 1 y Terminal NO2.).

En la Terminal 1, ejecute el comando fswatch para monitorear $HOME Tabla de contenido.

$ fswatch /home/ostechnix/

Y realice algunas operaciones en la Terminal 2, como crear archivos/carpetas, eliminar archivos, modificar archivos, etc.

Haga lo que haga en la Terminal 2, se le notificará en la Terminal 1. Vea la captura de pantalla a continuación.

Terminal 1 – El comando fswatch se está ejecutando y observa los cambios en el archivo:

Monitoreo de cambios de archivos con fswatch

Terminal NO2. – Realice algunos cambios aleatorios en archivos/carpetas:

Cambiar aleatoriamente archivos o carpetas
Cambiar aleatoriamente archivos o carpetas

De forma predeterminada, fswatch selecciona el mejor monitor disponible en la plataforma actual en términos de rendimiento y consumo de recursos. En Linux, El monitor predeterminado es inotify.

De manera predeterminada, fswatch continuará monitoreando los cambios de archivos hasta que lo detenga manualmente llamando CTRL+C llave.

Lista de monitores

Para listar los monitores disponibles en la plataforma actual (Linux en nuestro caso), ejecute:

$ fswatch -M

o,

$ fswatch --list-monitors

Salida de muestra:

inotify_monitor
poll_monitor

Supervisar archivos o carpetas específicos

Para monitorear un archivo o directorio específico con opciones de monitoreo específicas, ejecute:

$ swatch -m kqueue_monitor /home/ostechnix/

También puede salir de fswatch después de recibir el primer conjunto de eventos especificando la opción -1 como se muestra en el siguiente comando:

$ fswatch -1 /home/ostechnix/

Este comando saldrá tan pronto como se reciba el primer conjunto de eventos.

fswatch observará todos los archivos/carpetas en la ruta especificada en busca de cambios.Si solo desea ver los cambios realizados en el directorio, use -d opciones

$ fswatch -d /home/ostechnix/

Por supuesto, hay muchas más opciones.Consulte la página del manual o Página de documentación del proyecto. Para obtener instrucciones detalladas.

$ man fswatch

recurso:

Imagen destacada por Pete Linforth de concentrarse en.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba