Watchman - failu un direktoriju skatīšanās rīks izmaiņām


Watchman ir atvērtā koda un starpplatformu failu vērošanas pakalpojums, kas inotificē Linux kodola lietderību, lai sniegtu jaudīgāku paziņojumu.

  • Tas rekursīvi vēro viena vai vairāku direktoriju koku skatīšanos.
  • Katru skatīto direktoriju sauc par sakni.
  • To var konfigurēt, izmantojot komandrindu vai konfigurācijas failu, kas rakstīts JSON formātā.
  • Tas reģistrē izmaiņas žurnālfailos.
  • Atbalsta sakņu faila izmaiņu abonēšanu.
  • ļauj vaicāt saknei faila izmaiņas kopš pēdējās pārbaudes vai koka pašreizējā stāvokļa.
  • Tas var skatīties visu projektu.

Šajā rakstā mēs paskaidrosim, kā instalēt un izmantot watchman, lai skatītos (uzraudzītu) failus un ierakstītu, kad tie mainās Linux. Mēs arī īsi parādīsim, kā skatīties direktoriju un izsaukt skriptu, kad tas mainās.

Watchman File Watching Service instalēšana Linux

Mēs instalēsim sargservisu no avotiem, tāpēc vispirms instalējiet šīs nepieciešamās atkarības libssl-dev, autoconf, automake libtool, setuptools, python-devel un libfolly, izmantojot šādu Linux izplatīšanas komandu.

----------- 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'  

Kad nepieciešamās atkarības ir instalētas, varat sākt veidot sargu, lejupielādējot tā github repozitoriju, pārvietoties uz vietējo repozitoriju, konfigurēt, izveidot un instalēt to, izmantojot šādas komandas.

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

Failu un direktoriju skatīšanās kopā ar Watchman operētājsistēmā Linux

Watchman var konfigurēt divējādi: (1) izmantojot komandrindu, kamēr dēmons darbojas fonā, vai (2) izmantojot konfigurācijas failu, kas rakstīts JSON formātā.

Lai skatītos direktoriju (piemēram, ~/bin ) izmaiņām, izpildiet šo komandu.

$ watchman watch ~/bin/

Šī komanda raksta konfigurācijas failu ar nosaukumu state zem/usr/local/var/run/watchman/ -state/JSON formātā, kā arī žurnāla failu ar nosaukumu log tajā pašā vietā.

Abus failus varat apskatīt, izmantojot komandu cat kā show.

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

Varat arī definēt, kādu darbību aktivizēt, ja direktorijā tiek skatītas izmaiņas. Piemēram, šajā komandā ' test-trigger ' ir trigera nosaukums, un ~ bin/pav.sh ir skripts, kas tiks izsaukts, kad tiks atklātas izmaiņas direktorijā, kuru uzrauga.

Pārbaudes vajadzībām skripts pav.sh vienkārši izveido failu ar laika zīmogu (t.i., file. $Time.txt ) tajā pašā direktorijā, kurā tiek glabāts skripts.

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

Saglabājiet failu un izveidojiet skriptu izpildāmu, kā parādīts.

$ chmod +x ~/bin/pav.sh

Lai palaistu trigeri, palaidiet šādu komandu.

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

Izpildot sargu, lai sekotu direktorijai, tas ir pievienots novērošanas sarakstam un lai to skatītu, izpildiet šo komandu.

$ watchman watch-list 

Lai skatītu saknes aktivizētāju sarakstu, izpildiet šo komandu (aizstājiet ~/bin ar root nosaukumu).

$ watchman trigger-list ~/bin

Pamatojoties uz iepriekšminēto konfigurāciju, katru reizi, kad mainās direktorija ~/bin , tajā tiek izveidots fails, piemēram, fails.2019-03-13.23: 14: 17.txt un tos var apskatīt, izmantojot komandu ls.

$ ls

Watchman Service atinstalēšana Linux

Ja vēlaties atinstalēt watchman, pārejiet uz avota direktoriju un izpildiet šādas komandas:

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

Lai iegūtu papildinformāciju, apmeklējiet Watchman Github krātuvi: https://github.com/facebook/watchman.

Jūs varētu vēlēties arī izlasīt šos saistītos rakstus.

  1. Swatchdog - vienkāršs žurnālfailu vērotājs Linux reāllaikā
  2. 4 veidi, kā reāllaikā skatīties vai pārraudzīt žurnālfailus
  3. fswatch - uzrauga failus un direktoriju izmaiņas operētājsistēmā Linux
  4. Pyintify - monitorējiet failu sistēmas izmaiņas reāllaikā Linux
  5. Inav - skatiet Apache žurnālus reāllaikā operētājsistēmā Linux

Watchman ir atvērta pirmkoda failu skatīšanas pakalpojums, kas skatās failus un ierakstus vai izraisa darbības, kad tie mainās. Izmantojiet tālāk sniegto atsauksmju veidlapu, lai uzdotu jautājumus vai dalītos savās domās.