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/ 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.
- Swatchdog - Enkel logfilovervågning i realtid i Linux
- 4 måder at se eller overvåge logfiler i realtid
- fswatch - Overvåger filer og katalogændringer i Linux
- Pyintify - Overvåg filsystemændringer i realtid i Linux
- 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.