Mlinzi - Chombo cha Kuangalia Faili na Saraka kwa Mabadiliko


Watchman ni chanzo wazi na huduma ya kutazama faili za jukwaa tofauti ambayo inafafanua matumizi ya Linux kernel kutoa arifa yenye nguvu zaidi.

  • Inatazama kwa kujirudia rudia kutazama orodha ya mti mmoja au zaidi.
  • Kila saraka inayotazamwa inaitwa mzizi.
  • Inaweza kusanidiwa kupitia safu ya amri au faili ya usanidi iliyoandikwa katika umbizo la JSON.
  • Inarekodi mabadiliko kwenye faili za kumbukumbu.
  • Inaauni usajili ili kubadilisha mabadiliko yanayotokea kwenye mzizi.
  • Hukuruhusu kuuliza mzizi wa mabadiliko ya faili tangu ulipoangalia mara ya mwisho, au hali ya sasa ya mti.
  • Inaweza kutazama mradi mzima.

Katika makala hii, tutaelezea jinsi ya kusakinisha na kutumia mlinzi kutazama (kufuatilia) faili na kurekodi wakati zinabadilika kwenye Linux. Pia tutaonyesha kwa ufupi jinsi ya kutazama saraka na kuitisha hati inapobadilika.

Inasakinisha Huduma ya Kutazama Faili ya Mlinzi kwenye Linux

Tutasakinisha huduma ya walinzi kutoka kwa vyanzo, kwa hivyo kwanza sakinisha vitegemezi hivi vinavyohitajika libssl-dev, autoconf, automake libtool, setuptools, python-devel na libfolly kwa kutumia amri ifuatayo kwenye usambazaji wako wa Linux.

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

Mara tu utegemezi unaohitajika umewekwa, unaweza kuanza kujenga mlinzi kwa kupakua hazina yake ya github, nenda kwenye hazina ya ndani, usanidi, uijenge na usakinishe kwa kutumia amri zifuatazo.

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

Kuangalia Faili na Saraka na Watchman katika Linux

Watchman inaweza kusanidiwa kwa njia mbili: (1) kupitia safu ya amri huku daemon ikifanya kazi chinichini au (2) kupitia faili ya usanidi iliyoandikwa katika umbizo la JSON.

Ili kutazama saraka (k.m ~/bin) kwa mabadiliko, endesha amri ifuatayo.

$ watchman watch ~/bin/

Amri ifuatayo inaandika faili ya usanidi inayoitwa state chini ya /usr/local/var/run/watchman/-state/, katika umbizo la JSON pamoja na faili ya kumbukumbu iitwayo log katika eneo moja.

Unaweza kutazama faili hizo mbili kwa kutumia paka amri kama show.

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

Unaweza pia kufafanua ni hatua gani ya kuanzisha saraka ikitazamwa kwa mabadiliko. Kwa mfano katika amri ifuatayo, 'test-trigger' ni jina la kichochezi na ~bin/pav.sh ndiyo hati itakayotumiwa mabadiliko yanapogunduliwa. kwenye saraka inayofuatiliwa.

Kwa madhumuni ya jaribio, hati ya pav.sh huunda faili tu kwa muhuri wa muda (yaani file.$time.txt) ndani ya saraka sawa ambapo hati imehifadhiwa.

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

Hifadhi faili na ufanye hati itekelezwe kama inavyoonyeshwa.

$ chmod +x ~/bin/pav.sh

Ili kuzindua kichochezi, endesha amri ifuatayo.

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

Unapotekeleza mlinzi ili kuweka jicho kwenye saraka, inaongezwa kwenye orodha ya kutazama na kuiona, endesha amri ifuatayo.

$ watchman watch-list 

Ili kuona orodha ya vichochezi kwa mzizi, endesha amri ifuatayo (badilisha ~/bin na mzizi jina).

$ watchman trigger-list ~/bin

Kulingana na usanidi ulio hapo juu, kila wakati saraka ya ~/bin inapobadilika, faili kama vile file.2019-03-13.23:14:17.txt huundwa ndani yake. na unaweza kuzitazama kwa kutumia ls amri.

$ ls

Kuondoa Huduma ya Mlinzi kwenye Linux

Ikiwa unataka kusanidua mlinzi, nenda kwenye saraka ya chanzo na utekeleze amri zifuatazo:

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

Kwa habari zaidi, tembelea hazina ya Github ya Watchman: https://github.com/facebook/watchman.

Unaweza pia kupenda kusoma makala hizi zifuatazo zinazohusiana.

  1. Swatchdog - Kitazamaji Rahisi cha Faili za Kumbukumbu Katika Wakati Halisi katika Linux
  2. Njia 4 za Kutazama au Kufuatilia Faili za Kumbukumbu kwa Wakati Halisi
  3. fswatch - Inafuatilia Faili na Mabadiliko ya Saraka katika Linux
  4. Pyintify – Fuatilia Mabadiliko ya Mfumo wa Faili kwa Wakati Halisi katika Linux
  5. Inav - Tazama Apache Ikiingia Katika Wakati Halisi katika Linux

Watchman ni huduma ya kuangalia faili ya chanzo huria ambayo hutazama faili na rekodi, au kuchochea vitendo, zinapobadilika. Tumia fomu ya maoni iliyo hapa chini kuuliza maswali au kushiriki mawazo yako nasi.