Watchman - Et fil- og katalogovervågningsværktøj til ændringer


Watchman er en open source- og platformovervågningstjeneste på tværs af platforme, der inotificerer Linux-kernens nytte for at give en mere kraftig underretning.

  • Den ser rekursivt på et eller flere katalogtræer.
  • Hver overvåget mappe kaldes en rod.
  • Den kan konfigureres via kommandolinjen eller en konfigurationsfil skrevet i JSON-format.
  • Den registrerer ændringer i logfiler.
  • Understøtter abonnement på filændringer, der forekommer i en rod.
  • Giver dig mulighed for at forespørge på en rod til filændringer, siden du sidst tjekkede, eller træets aktuelle tilstand.
  • Det kan se et helt projekt.

I denne artikel vil vi forklare, hvordan man installerer og bruger watchman til at se (overvåge) filer og registrere, når de ændres i Linux. Vi vil også kort demonstrere, hvordan man ser et bibliotek og påberåber et script, når det ændres.

Installation af Watchman File Watching Service i Linux

Vi installerer watchman-tjenesten fra kilder, så installer først disse krævede afhængigheder libssl-dev, autoconf, automake libtool, setuptools, python-devel og libfolly ved hjælp af følgende kommando på din Linux-distribution.

----------- On Debian/Ubuntu ----------- 
$ sudo apt install autoconf automake build-essential python-setuptools python-dev libssl-dev libtool 

----------- On RHEL/CentOS -----------
# yum install autoconf automake python-setuptools python-devel openssl-devel libssl-devel libtool 
# yum groupinstall 'Development Tools' 

----------- On Fedora -----------
$ sudo dnf install autoconf automake python-setuptools openssl-devel libssl-devel libtool 
$ sudo dnf groupinstall 'Development Tools'  

Når nødvendige afhængigheder er installeret, kan du begynde at oprette vagten ved at downloade github-arkivet, flytte ind i det lokale lager, konfigurere, opbygge og installere det ved hjælp af følgende kommandoer.

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

Se filer og kataloger med Watchman i Linux

Watchman kan konfigureres på to måder: (1) via kommandolinjen, mens dæmonen kører i baggrunden eller (2) via en konfigurationsfil skrevet i JSON-format.

For at se et bibliotek (f.eks. ~/bin ) for ændringer skal du køre følgende kommando.

$ watchman watch ~/bin/

Følgende kommando skriver en konfigurationsfil kaldet state under/usr/local/var/run/watchman/ -state /, i JSON-format samt en logfil kaldet log samme sted.

Du kan se de to filer ved hjælp af kommandoen cat som show.

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

Du kan også definere, hvilken handling der skal udløses, når en mappe, der overvåges for ændringer. For eksempel i den følgende kommando er ' test-trigger ' navnet på triggeren, og ~ bin/pav.sh er det script, der påberåbes, når ændringer opdages i det bibliotek, der overvåges.

Til testformål opretter scriptet pav.sh simpelthen en fil med et tidsstempel (dvs. -fil. $ Time.txt ) i den samme mappe, hvor scriptet er gemt.

time=`date +%Y-%m-%d.%H:%M:%S`
touch file.$time.txt

Gem filen, og gør scriptet eksekverbart som vist.

$ chmod +x ~/bin/pav.sh

For at starte udløseren skal du køre følgende kommando.

$ watchman -- trigger ~/bin 'test-trigger' -- ~/bin/pav.sh

Når du udfører overvågning for at holde øje med et bibliotek, tilføjes det til overvågningslisten og for at se det, skal du køre følgende kommando.

$ watchman watch-list 

For at se triggerlisten for en rod skal du køre følgende kommando (udskift ~/bin med navnet root ).

$ watchman trigger-list ~/bin

Baseret på ovenstående konfiguration oprettes der en fil som -fil.2019-03-13.23: 14: 17.txt hver gang kataloget ~/bin ændres inde i det og du kan se dem ved hjælp af kommandoen ls.

$ ls

Afinstallation af Watchman Service i Linux

Hvis du vil afinstallere watchman, skal du flytte til kildekataloget og køre følgende kommandoer:

$ sudo make uninstall
$ cd '/usr/local/bin' && rm -f watchman 
$ cd '/usr/local/share/doc/watchman-4.9.0 ' && rm -f README.markdown 

For mere information, besøg Watchman Github-arkivet: https://github.com/facebook/watchman.

Du kan også lide at læse disse følgende relaterede artikler.

  1. Swatchdog - Enkel logfilovervågning i realtid i Linux
  2. 4 måder at se eller overvåge logfiler i realtid
  3. fswatch - Overvåger filer og katalogændringer i Linux
  4. Pyintify - Overvåg filsystemændringer i realtid i Linux
  5. Inav - Se Apache-logfiler i realtid i Linux

Watchman er en open source-filovervågningstjeneste, der ser filer og registrerer eller udløser handlinger, når de ændres. Brug feedbackformularen nedenfor til at stille spørgsmål eller dele dine tanker med os.