Watchman - Skráa- og skráaeftirlitstæki fyrir breytingar


Watchman er opinn uppspretta og þvert á vettvang skráaskoðunarþjónustu sem vekur athygli á gagnsemi Linux kjarnans til að veita öflugri tilkynningu.

  • Það horfir endurtekið á að horfa á eitt eða fleiri skráartré.
  • Hver fylgst skráa er kölluð rót.
  • Það er hægt að stilla hana í gegnum skipanalínuna eða stillingarskrá sem er skrifuð á JSON sniði.
  • Það skráir breytingar á annálaskrám.
  • Styður áskrift að skráarbreytingum sem eiga sér stað í rót.
  • Leyfir þér að spyrjast fyrir um rót fyrir breytingar á skrá síðan þú athugaðir síðast, eða núverandi stöðu trésins.
  • Það getur horft á heilt verkefni.

Í þessari grein munum við útskýra hvernig á að setja upp og nota Watchman til að horfa á (fylgjast) með skrám og taka upp þegar þær breytast í Linux. Við munum einnig sýna stuttlega hvernig á að horfa á möppu og kalla fram handrit þegar það breytist.

Setur upp Watchman File Watching Service í Linux

Við munum setja upp Watchman þjónustu frá heimildum, svo fyrst settu upp þessar nauðsynlegu ósjálfstæði libssl-dev, autoconf, automake libtool, setuptools, python-devel og libfolly með eftirfarandi skipun á Linux dreifingunni þinni.

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

Þegar nauðsynlegar ósjálfstæðir hafa verið settar upp geturðu byrjað að byggja Watchman með því að hlaða niður github geymslunni, fara í staðbundna geymsluna, stilla, smíða og setja upp með eftirfarandi skipunum.

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

Horfa á skrár og möppur með Watchman í Linux

Watchman er hægt að stilla á tvo vegu: (1) í gegnum skipanalínuna á meðan púkinn keyrir í bakgrunni eða (2) í gegnum stillingarskrá sem er skrifuð á JSON sniði.

Til að horfa á möppu (t.d. ~/bin) fyrir breytingar skaltu keyra eftirfarandi skipun.

$ watchman watch ~/bin/

Eftirfarandi skipun skrifar stillingarskrá sem heitir state undir /usr/local/var/run/watchman/-state/, á JSON sniði sem og annálaskrá sem heitir log< /kóði> á sama stað.

Þú getur skoðað þessar tvær skrár með því að nota cat skipunina sem sýnd.

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

Þú getur líka skilgreint hvaða aðgerð á að kalla fram þegar fylgst er með breytingum á skrá. Til dæmis í eftirfarandi skipun, 'prófkveikja' er heiti kveikjarans og ~bin/pav.sh er forskriftin sem verður kölluð til þegar breytingar finnast í skránni sem verið er að fylgjast með.

Í prófunartilgangi býr pav.sh forskriftin einfaldlega til skrá með tímastimpli (þ.e. file.$time.txt) í sömu möppu þar sem handritið er geymt.

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

Vistaðu skrána og gerðu handritið keyranlegt eins og sýnt er.

$ chmod +x ~/bin/pav.sh

Til að ræsa kveikjuna skaltu keyra eftirfarandi skipun.

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

Þegar þú keyrir vaktmann til að fylgjast með möppu, er henni bætt við vaktlistann og til að skoða hana skaltu keyra eftirfarandi skipun.

$ watchman watch-list 

Til að skoða kveikjulistann fyrir rót skaltu keyra eftirfarandi skipun (skipta um ~/bin fyrir rót nafninu).

$ watchman trigger-list ~/bin

Byggt á uppsetningunni hér að ofan, í hvert sinn sem ~/bin skrárinn breytist, er skrá eins og file.2019-03-13.23:14:17.txt búin til inni í henni og þú getur skoðað þær með ls skipuninni.

$ ls

Fjarlægir Watchman Service í Linux

Ef þú vilt fjarlægja watchman skaltu fara inn í upprunaskrána og keyra eftirfarandi skipanir:

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

Fyrir frekari upplýsingar, heimsækja Watchman Github geymsluna: https://github.com/facebook/watchman.

Þú gætir líka viljað lesa þessar eftirfarandi tengdu greinar.

  1. Swatchdog – Einfaldur skráavörður í rauntíma í Linux
  2. Fjórar leiðir til að horfa á eða fylgjast með annálaskrám í rauntíma
  3. fswatch – fylgist með skrám og skráarbreytingum í Linux
  4. Pyintify – Fylgstu með breytingum á skráarkerfi í rauntíma í Linux
  5. Inav – Horfðu á Apache logs í rauntíma í Linux

Watchman er opinn uppspretta skráaskoðunarþjónusta sem horfir á skrár og skráir, eða kallar fram aðgerðir, þegar þær breytast. Notaðu athugasemdareyðublaðið hér að neðan til að spyrja spurninga eða deila hugsunum þínum með okkur.