Watchman: una herramienta de supervisión de archivos y directorios para cambios

Watchman: una herramienta de supervisión de archivos y directorios para cambios

Watchman. es un servicio de visualización de archivos multiplataforma y de código abierto que vigila archivos y registra o realiza acciones cuando cambian. Está desarrollado por Facebook. y se ejecuta en Linux, OS X, FreeBSD y Solaris. Se ejecuta en un modelo cliente-servidor y emplea la utilidad inotify del kernel de Linux para proporcionar una notificación más poderosa.

Conceptos útiles de Watchman

  • Observa de forma recursiva uno o más árboles de directorios.
  • Cada directorio observado se llama raíz.
  • Se puede configurar mediante la línea de comandos o un archivo de configuración escrito en formato JSON.
  • Registra los cambios en el registro archivos.
  • Admite la suscripción a cambios de archivo que ocurren en una raíz.
  • Le permite consultar una raíz para ver los cambios de archivo desde la última vez que verificó, o el estado actual del árbol.
  • Puede ver un proyecto completo.

En este artículo, explicaremos cómo instalar y usar watchman. para ver (monitorear) archivos y registrar cuándo cambian en Linux. También demostraremos brevemente cómo observar un directorio e invocar un script cuando cambia.

Instalación del servicio de observación de archivos Watchman en Linux

Instalaremos watchman. servicio de fuentes, así que primero instale estas dependencias requeridas libssl-dev. autoconf. automake. libtool. setuptools. python-devel. y libfolly. usando el siguiente comando en su distribución de Linux.

———–En Debian/Ubuntu———– $ sudo apt install autoconf automake build-essential python-setuptools python-dev libssl-dev libtool ———–En RHEL/CentOS———– # yum install autoconf automake python-setuptools python-devel openssl-devel libssl-devel libtool # yum groupinstall ‘Herramientas de desarrollo’ ———–En Fedora———– $ sudo dnf install autoconf automake python-setuptools open ssl-devel libssl-devel libtool $ sudo dnf groupinstall ‘Herramientas de desarrollo’

Una vez instaladas las dependencias necesarias, puede comenzar a construir watchman descargando su repositorio github, muévase al repositorio local, configúrelo, compílelo e instálelo usando los siguientes comandos.

$ git clone https://github.com/facebook/watchman.git $ cd watchman $ git checkout v4.9.0 $ ./autogen.sh $ ./configure $ make $ sudo make install

Ver archivos y directorios con Watchman en Linux

Watchman. se puede configurar de dos formas: (1) a través de la línea de comandos mientras el demonio se ejecuta en segundo plano o (2) a través de una configuración archivo escrito en formato JSON.

freestar.config.enabled_slots.push

Para ver cambios en un directorio (por ejemplo, ~/bin), ejecute el siguiente comando.

$ watchman watch ~/bin/Ver un directorio en Linux  Ver un directorio en Linux Ver un directorio en Linux

El siguiente comando escribe un archivo de configuración llamado state en /usr/local/var/run/watchman/-state/, en formato JSON, así como un archivo de registro llamado log en la misma ubicación.

Puede ver los dos archivos usando el comando cat como se muestra.

$ cat/usr/local/var/run/watchman/aaronkilik-state/state $ cat/usr/local/var/run/watchman/aaronkilik-state/log

También puede definir qué acción desencadenar cuando un directorio está siendo observado en busca de cambios. Por ejemplo, en el siguiente comando, ‘test-trigger’ es el nombre del disparador y ~ bin/pav.sh es el script que se invocará cuando se detecten cambios en el directorio que se está monitoreando.

Para Para fines de prueba, el script pav.sh simplemente crea un archivo con una marca de tiempo. (es decir, archivo. $ time.txt) dentro del mismo directorio donde se almacena el script.

time = `date + % Y-% m-% d.% H:% M:% S` archivo táctil. $ Time.txt

Guarde el archivo y haga que el script sea ejecutable como se muestra.

$ chmod + x ~/bin/pav.sh

Para iniciar el disparador, ejecute el siguiente comando.

$ vigilante-disparador ~/bin ‘disparador de prueba’-~/bin/pav.sh Crear un activador en el directorio  Crear un disparador en el directorio Crear un activador en el directorio

W uando ejecuta watchman. para vigilar un directorio, se agrega a la lista de vigilancia y para verlo, ejecute el siguiente comando.

$ watchman watch-list  Ver lista de observación  Ver lista de observación Ver lista de observación

Para ver la lista de activación de una raíz. ejecute el siguiente comando (reemplace ~/bin con la raíz name).

$ watchman trigger-list ~/bin  Mostrar lista de activadores para una raíz Mostrar lista de activadores para una raíz Mostrar lista de activadores para una raíz

Según la configuración anterior, cada vez que cambia el directorio ~/bin, se muestra un archivo como file.2019-03-13.23: 14: 17.txt creado dentro de él y puede verlos usando el comando ls.

$ ls  Configuración de Watchman de prueba  Configuración de Watchman de prueba Probar la configuración de Watchman

Desinstalar el servicio Watchman en Linux

Si desea desinstalar watchman. vaya al directorio de origen y ejecute los siguientes comandos:

$ sudo make desinstalar $ cd ‘/usr/local/bin’ && rm-f watchman $ cd ‘/usr/local/share/doc/watchman-4.9.0’ && rm-f README.markdown

Para más información, visite el repositorio de Watchman Github: https://github.com/facebook/watchman.

Es posible que también le guste leer los siguientes artículos relacionados.

  1. Swatchdog-Observador de archivos de registro simple en tiempo real en Linux
  2. 4 formas de ver o monitorear archivos de registro en tiempo real
  3. fswatch: monitorea archivos y cambios de directorio en Linux
  4. Pyintify-Supervisar cambios en el sistema de archivos en tiempo real en Linux
  5. Inav-Ver registros de Apache en tiempo real en Linux

Watchman. es un servicio de observación de archivos de origen que observa archivos y registros, o activa acciones, cuando cambian. Utilice el formulario de comentarios a continuación para hacer preguntas o compartir sus pensamientos con nosotros.

Leave a comment

Your email address will not be published. Required fields are marked *