Onye nche - Ngwa faịlụ na ndekọ ndekọ maka mgbanwe


Watchman bụ ọrụ na-ekiri faịlụ na-emeghe na cross-platform nke na-eme ka uru nke Linux kernel na-enye ọkwa dị ike karị.

  • Ọ na-elele ugboro ugboro ka otu osisi ndekọ aha ma ọ bụ karịa.
  • Akwụkwọ ndekọ aha ọ bụla a na-elele ka a na-akpọ mgbọrọgwụ.
  • Enwere ike hazie ya site na ahịrị iwu ma ọ bụ faịlụ nhazi nke edere n'ụdị JSON.
  • Ọ na-edekọ mgbanwe na faịlụ ndekọ.
  • Na-akwado ndenye aha maka mgbanwe faịlụ na-eme na mgbọrọgwụ.
  • Na-enye gị ohere ịjụ mgbọrọgwụ maka mgbanwe faịlụ kemgbe ị nyochachara ikpeazụ, ma ọ bụ ọnọdụ osisi ugbu a.
  • Ọ nwere ike ilele ọrụ niile.

N'isiokwu a, anyị ga-akọwa otu esi etinye ma jiri onye nche na-ekiri faịlụ (nyochaa) na ndekọ mgbe ha gbanwere na Linux. Anyị ga-egosipụtakwa nkenke ka esi ele ndekọ ndekọ aha wee kpọọ edemede mgbe ọ gbanwere.

Ịwụnye ọrụ nlele faịlụ Watchman na Linux

Anyị ga-etinye ọrụ onye nche site na isi mmalite, yabụ buru ụzọ wụnye libssl-dev, autoconf, automake libtool, setuptools, python-devel na libfolly site na iji iwu na-esonụ na nkesa Linux gị.

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

Ozugbo etinyere ndabere achọrọ, ị nwere ike ịmalite iwu onye nche site na nbudata github repository, banye n'ime ebe nchekwa mpaghara, hazie, wuo ma wụnye ya site na iji iwu ndị a.

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

Ikiri faịlụ na akwụkwọ ndekọ aha na Watchman na Linux

Enwere ike ịhazi onye nche n'ụzọ abụọ: (1) site na ahịrị iwu mgbe daemon na-agba n'azụ ma ọ bụ (2) site na faịlụ nhazi nke edere na usoro JSON.

Ka ilele ndekọ (dịka ~/bin) maka mgbanwe, mee iwu a.

$ watchman watch ~/bin/

Iwu na-esonụ na-ede faịlụ nhazi a na-akpọ state n'okpuru /usr/local/var/run/watchman/-state/, na usoro JSON yana faịlụ ndekọ aha a na-akpọ log n'otu ebe.

Ị nwere ike ịlele faịlụ abụọ ahụ site na iji iwu cat dị ka ihe ngosi.

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

Ị nwekwara ike kọwapụta ihe ị ga-eme mgbe a na-ekiri ndekọ maka mgbanwe. Dịka ọmụmaatụ n'iwu na-esonụ, 'test-trigger' bụ aha ihe na-akpalite na ~bin/pav.sh bụ edemede nke a ga-akpọku mgbe achọpụtara mgbanwe. na ndekọ a na-enyocha.

Maka ebumnuche ule, edemede pav.sh na-emepụta naanị faịlụ nwere akara timestamp (ie file.$time.txt) n'ime otu ndekọ aha ebe echekwara edemede ahụ.

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

Chekwaa faịlụ ma mee ka edemede dị ka egosiri.

$ chmod +x ~/bin/pav.sh

Iji malite mkpalite, mee iwu na-esonụ.

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

Mgbe ị na-eme onye nche ka ọ leba anya na ndekọ, agbakwunyere ya na ndetu nche na ịhụ ya, mee iwu na-esonụ.

$ watchman watch-list 

Ka ilele ndepụta mkpata maka mgbọrọgwụ, mee iwu a (dochie ~/bin na aha mgbọrọgwụ).

$ watchman trigger-list ~/bin

Dabere na nhazi dị n'elu, oge ọ bụla ~/bin na-agbanwe akwụkwọ ndekọ aha, a na-emepụta faịlụ dị ka file.2019-03-13.23:14:17.txt n'ime ya. ma ị nwere ike ịlele ha site na iji iwu ls.

$ ls

Na-ewepụ ọrụ Watchman na Linux

Ọ bụrụ na ịchọrọ iwepụ onye nche, banye n'ime akwụkwọ ndekọ aha wee mee iwu ndị a:

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

Maka ozi ndị ọzọ, gaa na ebe nchekwa Watchman Github: https://github.com/facebook/watchman.

Ị nwekwara ike ịmasị ịgụ akụkọ ndị a metụtara.

  1. Swatchdog – Ihe nlele faịlụ ndekọ dị mfe na ezigbo oge na Linux
  2. Ụzọ 4 iji lelee ma ọ bụ nyochaa faịlụ ndekọ na ezigbo oge
  3. fswatch – Na-enyocha faịlụ na mgbanwe ndekọ na Linux
  4. Pyintify – Nyochaa Mgbanwe Sistemụ Faịlụ na Ezigbo Oge na Linux
  5. Inav – Lelee ndekọ Apache na ezigbo oge na Linux

Watchman bụ ọrụ na-ekiri faịlụ na-emeghe na-ekiri faịlụ na ndekọ, ma ọ bụ na-akpali omume, mgbe ha gbanwere. Jiri mpempe nzaghachi n'okpuru jụọ ajụjụ ma ọ bụ kesaa echiche gị n'etiti anyị.