LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

fswatch es un monitor de cambios de archivos multiplataforma que recibe alertas de notificación cuando se altera o modifica el contenido de los archivos o directorios especificados.

Ejecuta cuatro tipos de monitores en diferentes sistemas operativos tales como:

  1. Un monitor basado en la API de eventos del sistema de archivos de Apple OS X.
  2. Un monitor basado en kqueue , una interfaz de notificación presente en FreeBSD 4.1 que también es compatible con muchos sistemas *BSD, incluido OS X.
  3. Un monitor basado en la API de notificación de eventos de archivo del kernel de Solaris más sus derivados.
  4. Un monitor basado en inotify, un subsistema del kernel que muestra las modificaciones del sistema de archivos de las aplicaciones.
  5. Un monitor basado en ReadDirectoryChangesW, una API de Windows que registra cambios en un directorio.
  6. Un monitor que verifica regularmente el estado del sistema de archivos, mantiene los tiempos de modificación de archivos en la memoria y determina manualmente los cambios en el sistema de archivos (que funciona en cualquier lugar, donde se puede usar stat).

Características de fswatch

  1. Admite varias API específicas del sistema operativo
  2. Permite el monitoreo recursivo de directorios
  3. Realiza el filtrado de rutas mediante la inclusión y exclusión de expresiones regulares
  4. Admite formato de registro personalizable
  5. Además, admite eventos de inactividad periódicos

Cómo instalar fswatch en sistemas Linux

Desafortunadamente, el paquete fswatch no está disponible para instalar desde los repositorios del sistema predeterminados en ninguna distribución de Linux. La única forma de instalar la última versión de fswatch es compilar desde el código fuente como se muestra en las siguientes instrucciones de instalación.

Primero tome el tarball fswatch más reciente usando el siguiente comando wget e instálelo como se muestra:

$ wget https://github.com/emcrisostomo/fswatch/releases/download/1.9.3/fswatch-1.9.3.tar.gz
$ tar -xvzf fswatch-1.9.3.tar.gz
$ cd fswatch-1.9.3
$ ./configure
$ make
$ sudo make install 

Importante : asegúrese de tener GNU GCC (compilador de C y C++) y herramientas de desarrollo ( build-essential en Debian/Ubuntu ) instalado en el sistema, antes de compilar fswatch desde la fuente. De lo contrario, instálelo usando el siguiente comando en sus respectivas distribuciones de Linux.

# yum group install 'Development Tools'		[On CentOS/RHEL]
# dnf group install 'Development Tools'		[On Fedora 22+ Versions]
$ sudo apt-get install build-essential          [On Debian/Ubuntu Versions]

En las distribuciones Debian/Ubuntu , es posible que obtenga el siguiente error al ejecutar el comando fswatch .

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

Para solucionarlo, debe ejecutar el comando a continuación, esto ayudará a actualizar los enlaces y el caché a las bibliotecas dinámicas antes de que pueda comenzar a usar fswatch.

$ sudo ldconfig

¿Cómo uso fswatch en Linux?

La sintaxis general para ejecutar fswatch es:

$ fswatch [opción] [ruta]

En Linux , se recomienda que use el monitor inotify predeterminado , puede enumerar los monitores disponibles empleando la opción -Mo :- list-monitors

$ fswatch -M

inotify_monitor
poll_monitor
$ fswatch --list-monitors
   inotify_monitor
poll_monitor

El siguiente comando le permite ver los cambios en el directorio actual ( /home/linuxparty), y los eventos se envían a la salida estándar cada 4 segundos.

La opción  -l  --latency le permite configurar la latencia en segundos, el valor predeterminado es 1 segundo.

$ fswatch -l 4 . 

El siguiente comando supervisa los cambios en el archivo /var/log/auth.log cada 5 segundos:

$ fswatch -l 5 /var/log/auth.log

Usando la opción -t o --timestamp imprime la marca de tiempo para cada evento, para imprimir la hora en formato UTC , emplee la opción: -u o --utf-time . También puede formatear el tiempo usando la opción de formato: -f --format-time

$ fswatch --timestamp /var/log/auth.log

A continuación, -x  o --event-flags le dice a fswatch que imprima los indicadores de eventos junto con la ruta del evento. Puede usar la opción –event-field-seperator para imprimir eventos usando el separador particular.

$ fswatch --events-flags ~ /var/log/auth.log

Para imprimir el valor numérico de un evento que indica cambios en su directorio de inicio y en el archivo /var/log/auth.log , use la opción -n o como se indica a continuación:--numeric

$ fswatch --numeric ~/var/log/auth.log 

Tal vez pueda consultar la página de manual de fswatch para obtener información y opciones de uso detalladas:

$ man fswatch

Para obtener más información y uso, visite el repositorio fswatch Github: https://github.com/emcrisostomo/fswatch

En esta publicación, cubrimos una utilidad de línea de comando simple para ayudar a los usuarios de Linux a recibir notificaciones cuando se modifican los contenidos de archivos específicos o jerarquías de directorios.

Espero que todo haya ido bien con la instalación, si ese no es su caso, haga un esfuerzo para comunicarse con nosotros a través del formulario de comentarios a continuación. Además, en caso de que lo hayas usado antes, quizás quieras ofrecernos algunas reflexiones sobre tu experiencia con fswatch .

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías