Watchman una herramienta de observación de archivos y directorio para cambios

Watchman una herramienta de observación de archivos y directorio para cambios

Sereno es un servicio de código abierto y un archivo de observación de archivos multiplataforma que observa archivos y registra o realiza acciones cuando cambian. Se desarrolla por Facebook y se ejecuta en Linux, OS X, FreeBSD y Solaris. Se ejecuta en un modelo de cliente cliente y emplea la utilidad inotify del núcleo de Linux para proporcionar una notificación más poderosa.

Conceptos útiles de Watchman

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

En este artículo, explicaremos cómo instalar y usar sereno para ver los archivos (monitor) y grabar cuando cambian en Linux. También demostraremos brevemente cómo ver un directorio e invocar un script cuando cambie.

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

Instalaremos sereno servicio de fuentes, por lo que primero instale estas dependencias requeridas Libssl-Dev, autoconf, automoquero Libbtool, setuptools, pitón y libfolly Usando el siguiente comando en su distribución de Linux.

----------- En Debian/Ubuntu ----------- $ sudo apt install automago automake construye python-setuppools python-dev libbssl-dev LBTOOL ----------- En rhel/centos ----------- # yum instalación Autoconf automake python-setuptools python-devel openssl-devel libssl-devel libtool # yum groupinstall 'herramientas de desarrollo' ----------- En Fedora ----------- $ sudo dnf instalación autoconf automake python-setuptools openssl-devel libssl-devel libtool $ sudo dnf groupinstall 'herramientas de desarrollo' 

Una vez instaladas dependencias requeridas, puede comenzar a construir Watchman descargando su repositorio de GitHub, mudarse al repositorio local, configurarlo, construirlo e instalarlo utilizando los siguientes comandos.

$ git clon https: // github.com/Facebook/Watchman.git $ cd watchman $ git checkout v4.9.0 $ ./Autógeno.sh $ ./configurar $ make $ sudo make install 

Ver archivos y directorios con Watchman en Linux

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

Para ver un directorio (e.gramo ~/contenedor) Para los cambios, ejecute el siguiente comando.

$ Watchman Watch ~/bin/ 
Mira un directorio en Linux

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

Puede ver los dos archivos usando el comando CAT como show.

$ 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 activar cuando se observa un directorio para los cambios. Por ejemplo, en el siguiente comando, 'activador de pruebas'es el nombre del gatillo y ~ bin/pav.mierda es el script que se invocará cuando se detecten cambios en el directorio que se está monitoreando.

Para fines de prueba, el pavir.mierda script simplemente crea un archivo con un marca de tiempo (i.mi archivo.$ tiempo.TXT) dentro del mismo directorio donde se almacena el script.

tiempo = 'fecha +%y-%m-%d.%H:%m:%s 'archivo táctil.$ tiempo.TXT 

Guardar el archivo y hacer que el ejecutable de script como se muestra.

$ chmod +x ~/bin/pav.mierda 

Para iniciar el disparador, ejecute el siguiente comando.

$ Watchman-Trigger ~/bin 'Test Trigger'-~/bin/pav.mierda 
Crear un disparador en el directorio

Cuando ejecutas sereno Para vigilar un directorio, se agrega a la lista de vigilancia y para verlo, ejecute el siguiente comando.

$ Watchman Watch List 
Ver lista de relojes

Para ver la lista de activación para un raíz, Ejecute el siguiente comando (reemplazar ~/contenedor con el raíz nombre).

$ Watchman Trigger-List ~/Bin 
Mostrar lista de activación para una raíz

Basado en la configuración anterior, cada vez el ~/contenedor Cambios de directorio, un archivo como archivo.2019-03-13.23:14:17.TXT se crea dentro y puede verlos usando el comando ls.

$ LS 
Test Watchman Configuration

Desinstalación del servicio Watchman en Linux

Si quieres desinstalar sereno, Muévase al directorio de origen y ejecute los siguientes comandos:

$ sudo Make Uninstall $ cd '/usr/local/bin' && rm -f watchman $ cd '/usr/local/share/doc/watchman -4.9.0 '&& rm -f Readme.reducción 

Para obtener más información, visite el Repositorio de Github: https: // github.com/Facebook/Watchman.

También le gustaría leer estos siguientes artículos relacionados.

  1. SwatchDog - Vigilador 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: monitorear los cambios del sistema de archivos en tiempo real en Linux
  5. INAV - Mira los registros de Apache en tiempo real en Linux

Sereno es un archivo de archivo de código abierto que observa archivos y registros, o desencadena acciones, cuando cambian. Use el formulario de comentarios a continuación para hacer preguntas o compartir sus pensamientos con nosotros.