Watchman - Għodda għall-Għassa ta' Fajl u Direttorju għal Bidliet
Watchman huwa servizz ta' sorveljanza ta' fajls ta' sors miftuħ u cross-platform li jinnotifika l-utilità tal-kernel tal-Linux biex jipprovdi notifika aktar qawwija.
- Jsegwi b'mod rikorsiv siġra tad-direttorju waħda jew aktar.
- Kull direttorju osservat jissejjaħ għerq.
- Jista' jiġi kkonfigurat permezz tal-linja tal-kmand jew fajl ta' konfigurazzjoni miktub f'format JSON.
- Tirreġistra l-bidliet fil-fajls tal-ġurnal.
- Jappoġġja l-abbonament għal bidliet fil-fajl li jseħħu fl-għerq.
- Jippermettilek tfittex għerq għal bidliet fil-fajl minn meta ċċekkjajt l-aħħar, jew l-istat attwali tas-siġra.
- Jista' jara proġett sħiħ.
F'dan l-artikolu, se nispjegaw kif tinstalla u tuża watchman biex tara (immonitorja) fajls u nirreġistra meta jinbidlu fil-Linux. Aħna ser nuru wkoll fil-qosor kif tara direttorju u tinvoka script meta tinbidel.
Installazzjoni ta' Watchman File Watching Service fil-Linux
Aħna se ninstallaw servizz ta 'watchman minn sorsi, għalhekk l-ewwel installa dawn id-dipendenzi meħtieġa libssl-dev, autoconf, automake libtool, setuptools, python-devel u libfolly billi tuża l-kmand li ġej fuq id-distribuzzjoni Linux tiegħek.
----------- 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'
Ladarba d-dipendenzi meħtieġa jiġu installati, tista 'tibda tibni watchman billi tniżżel ir-repożitorju tal-github tagħha, tidħol fir-repożitorju lokali, tikkonfigura, tibni u tinstallah billi tuża l-kmandi li ġejjin.
$ git clone https://github.com/facebook/watchman.git $ cd watchman $ git checkout v4.9.0 $ ./autogen.sh $ ./configure $ make $ sudo make install
Jaraw Fajls u Direttorji ma' Watchman fil-Linux
Watchman jista 'jiġi kkonfigurat b'żewġ modi: (1) permezz tal-linja tal-kmand waqt li d-daemon ikun qed jaħdem fl-isfond jew (2) permezz ta' fajl ta 'konfigurazzjoni miktub f'format JSON.
Biex tara direttorju (eż. ~/bin
) għal bidliet, mexxi l-kmand li ġej.
$ watchman watch ~/bin/
Il-kmand li ġej jikteb fajl ta' konfigurazzjoni msejjaħ state
taħt /usr/local/var/run/watchman/log
fl-istess post.
Tista 'tara ż-żewġ fajls billi tuża l-kmand tal-qtates kif juru.
$ cat /usr/local/var/run/watchman/aaronkilik-state/state $ cat /usr/local/var/run/watchman/aaronkilik-state/log
Tista 'wkoll tiddefinixxi x'azzjoni għandha tiskatta meta direttorju jiġi osservat għal bidliet. Pereżempju fil-kmand li ġej, 'test-trigger
' huwa l-isem tal-grillu u ~bin/pav.sh
huwa l-iskript li se jiġi invokat meta jinstabu bidliet fid-direttorju li qed jiġi mmonitorjat.
Għal skopijiet ta’ test, l-iskrittura pav.sh
sempliċement toħloq fajl b’timestamp (jiġifieri file.$time.txt
) fl-istess direttorju fejn jinħażen l-iskritt.
time=`date +%Y-%m-%d.%H:%M:%S` touch file.$time.txt
Issejvja l-fajl u agħmel l-iskrittura eżekutibbli kif muri.
$ chmod +x ~/bin/pav.sh
Biex tniedi l-grillu, mexxi l-kmand li ġej.
$ watchman -- trigger ~/bin 'test-trigger' -- ~/bin/pav.sh
Meta tesegwixxi watchman biex iżżomm għajnejk fuq direttorju, hija miżjuda mal-lista tal-għassa u biex taraha, mexxi l-kmand li ġej.
$ watchman watch-list
Biex tara l-lista ta' attivazzjoni għal għerq, mexxi l-kmand li ġej (issostitwixxi ~/bin
bl-isem root
).
$ watchman trigger-list ~/bin
Ibbażat fuq il-konfigurazzjoni ta’ hawn fuq, kull darba li jinbidel id-direttorju ~/bin
, jinħoloq ġewwa fih fajl bħal file.2019-03-13.23:14:17.txt
u tista 'tarahom billi tuża ls kmand.
$ ls
Iddiżinstalla Watchman Service fil-Linux
Jekk trid tneħħi watchman, mur fid-direttorju tas-sors u mexxi l-kmandi li ġejjin:
$ sudo make uninstall $ cd '/usr/local/bin' && rm -f watchman $ cd '/usr/local/share/doc/watchman-4.9.0 ' && rm -f README.markdown
Għal aktar informazzjoni, żur ir-repożitorju ta’ Watchman Github: https://github.com/facebook/watchman.
Inti tista 'wkoll tixtieq taqra dawn l-artikoli relatati li ġejjin.
- Swatchdog – Sempliċi Log File Watcher f'Ħin Real fil-Linux
- 4 Modi kif Tara jew Tissorvelja Log Files f'Ħin Real
- fswatch – Tissorvelja Fajls u Bidliet fid-Direttorju fil-Linux
- Pyintify – Tissorvelja l-Bidliet tas-Sistema tal-Fajls f'Ħin Real fil-Linux
- Inav – Watch Apache Logs f'Ħin Real fil-Linux
Watchman huwa servizz ta' ħars ta' fajls ta' sors miftuħ li jħares fajls u rekords, jew iqanqal azzjonijiet, meta jinbidlu. Uża l-formola ta' feedback hawn taħt biex tistaqsi mistoqsijiet jew taqsam il-ħsibijiet tiegħek magħna.