fswatch: supervisa cambios o modificaciones de archivos y directorios en Linux

fswatch: supervisa cambios o modificaciones de archivos y directorios en Linux

fswatch. es un monitor de cambio de archivos multiplataforma que recibe alertas de notificación cuando el contenido de los archivos o directorios especificados es alterado o modificado.

Ejecuta cuatro tipos de monitores en diferentes sistemas operativos, 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 también compatible con muchos sistemas * BSD, OS X incluido.
  3. Un monitor basado en la API de notificación de eventos de archivos 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 a 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 los archivos en la memoria y determina manualmente los cambios en el sistema de archivos (que funciona en cualquier lugar, donde se pueden usar estadísticas).
  7. Características de fswatch

    1. Admite varias API específicas del sistema operativo
    2. Permite la supervisión recursiva 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 inactivos periódicos

    Cómo instalar fswatch en sistemas Linux

    Desafortunadamente, fswatch. el paquete 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 a partir del código fuente tarball como se muestra en las siguientes instrucciones de instalación.

    Primero, obtenga la última versión de fswatch. tarball 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 ‘ ve GNU GCC (compilador de C y C ++) y herramientas de desarrollo ( build-essential. en Debian/Ubuntu. instaladas en el sistema, antes de compilar fswatch desde la fuente. Si no, 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 Versiones de Fedora 22+. $ sudo apt-get install build-essential [En versiones de Debian/Ubuntu. freestar.config.enabled_slots.push

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

    fswatch: error while cargando bibliotecas compartidas: libfswatch.so.6: no se puede abrir el archivo de objeto compartido: no existe tal archivo o directorio

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

    $ sudo ldconfig

    ¿Cómo uso fswatch en Linux?

    La sintaxis general para ejecutar fswatch es:

    $ fswatch [opción] [pat h]

    En Linux. se recomienda que utilice el monitor inotify. predeterminado, puede enumerar los monitores disponibles empleando la opción-M o-list-monitores:

    $ fswatch-M $ fswatch–list-monitor fswatch-Lista de monitores  fswatch-Lista de monitores fswatch-Lista de monitores

    El siguiente comando habilita para ver los cambios en el directorio actual (/home/tecmint), con eventos que se envían a la salida estándar cada 4. segundos.

    La opción-l o –-latency permite que establezca la latencia en segundos, el valor predeterminado siendo 1. segundo.

    $ fswatch-l 4.

     fswatch-Supervisar cambios en el directorio de inicio  fswatch-Supervisar cambios en el directorio de inicio

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

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

    El uso de la opción-t o–timestamp imprime la marca de tiempo de cada evento, para imprimir la hora en formato UTC. utilice la opción-u o–utf-time. También puede formatear la hora usando la opción de formato-fo–format-time:

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

    Siguiente,-xo–event-flags indica fswatch. para imprimir las banderas de eventos a lo largo de 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–numeric como se muestra a continuación:

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

    Quizás 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. de Github: https://github.com/emcrisostomo/fswatch

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

    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 haya usado antes, es posible que desee ofrecernos algunas ideas sobre su experiencia con fswatch.