Watchman – failų ir katalogų stebėjimo įrankis pakeitimams
Watchman yra atvirojo kodo ir kelių platformų failų stebėjimo paslauga, kuri stebi failus ir įrašo arba atlieka veiksmus, kai jie pasikeičia. Jį sukūrė Facebook ir veikia Linux, OS X, FreeBSD ir Solaris sistemose. Jis veikia kliento-serverio modeliu ir naudoja „Linux“ branduolio inotify įrankį, kad pateiktų galingesnį pranešimą.
Naudingos „Watchman“ sąvokos
- Jis rekursyviai stebi vieną ar daugiau katalogų medžių.
- Kiekvienas stebimas katalogas vadinamas šaknine.
- Jį galima sukonfigūruoti naudojant komandinę eilutę arba konfigūracijos failą, parašytą JSON formatu.
- Jis įrašo pakeitimus į žurnalo failus.
- Palaiko failų pakeitimų, vykstančių šaknyje, prenumeratą.
- Leidžia teirautis šaknyje dėl failo pakeitimų po paskutinio patikrinimo arba dabartinės medžio būsenos.
- Jis gali žiūrėti visą projektą.
Šiame straipsnyje paaiškinsime, kaip įdiegti ir naudoti watchman failams žiūrėti (stebėti) ir įrašyti, kai jie keičiasi sistemoje „Linux“. Taip pat trumpai parodysime, kaip žiūrėti katalogą ir iškviesti scenarijų, kai jis pasikeičia.
„Watchman“ failų stebėjimo paslaugos diegimas sistemoje „Linux“.
Įdiegsime paslaugą watchman iš šaltinių, todėl pirmiausia įdiekite šias būtinas priklausomybes libssl-dev, autoconf, automake libtool, setuptools, python-devel ir libfolly naudodami šią komandą savo Linux platinime.
----------- 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'
Įdiegę reikiamas priklausomybes, galite pradėti kurti „watchman“ atsisiųsdami jo „github“ saugyklą, pereiti į vietinę saugyklą, sukonfigūruoti, sukurti ir įdiegti naudodami šias komandas.
git clone https://github.com/facebook/watchman.git
cd watchman
git checkout v4.9.0
./autogen.sh
./configure
make
sudo make install
Failų ir katalogų žiūrėjimas naudojant „Watchman“ sistemoje „Linux“.
Watchman galima konfigūruoti dviem būdais: (1) naudojant komandų eilutę, kai demonas veikia fone, arba (2) naudojant konfigūracijos failą, parašytą JSON formatu.
Norėdami stebėti katalogo (pvz., ~/bin
) pakeitimus, paleiskite šią komandą.
watchman watch ~/bin/
Ši komanda įrašo konfigūracijos failą pavadinimu state
, esantį /usr/local/var/run/watchman/log
toje pačioje vietoje.
Galite peržiūrėti du failus naudodami cat komandą kaip rodyti.
cat /usr/local/var/run/watchman/aaronkilik-state/state
cat /usr/local/var/run/watchman/aaronkilik-state/log
Taip pat galite apibrėžti, kokį veiksmą suaktyvinti, kai stebimas katalogo pasikeitimas. Pavyzdžiui, šioje komandoje 'test-trigger
' yra aktyviklio pavadinimas, o ~bin/pav.sh
yra scenarijus, kuris bus iškviestas, kai bus aptikti pakeitimai stebimame kataloge.
Bandymo tikslais scenarijus pav.sh
tiesiog sukuria failą su laiko žyma (t. y. failas.$time.txt
) tame pačiame kataloge kur yra saugomas scenarijus.
time=`date +%Y-%m-%d.%H:%M:%S`
touch file.$time.txt
Išsaugokite failą ir padarykite scenarijų vykdytiną, kaip parodyta.
chmod +x ~/bin/pav.sh
Norėdami paleisti trigerį, paleiskite šią komandą.
watchman -- trigger ~/bin 'test-trigger' -- ~/bin/pav.sh
Kai vykdote watchman, kad galėtumėte stebėti katalogą, jis įtrauktas į stebėjimo sąrašą ir jį peržiūrėti, paleiskite šią komandą.
watchman watch-list
Norėdami peržiūrėti root aktyviklių sąrašą, paleiskite šią komandą (pakeiskite ~/bin
pavadinimu root
).
watchman trigger-list ~/bin
Remiantis aukščiau pateikta konfigūracija, kiekvieną kartą pasikeitus ~/bin
katalogui, jame sukuriamas failas, pvz., file.2019-03-13.23:14:17.txt
ir galite juos peržiūrėti naudodami komandą ls.
ls
„Watchman Service“ pašalinimas iš „Linux“.
Jei norite pašalinti watchman, pereikite į šaltinio katalogą ir vykdykite šias komandas:
sudo make uninstall
cd '/usr/local/bin' && rm -f watchman
cd '/usr/local/share/doc/watchman-4.9.0 ' && rm -f README.markdown
Norėdami gauti daugiau informacijos, apsilankykite Watchman Github saugykloje: https://github.com/facebook/watchman.
Taip pat galbūt norėsite perskaityti šiuos susijusius straipsnius.
- „Swatchdog“ – paprasta žurnalo failų stebėjimo priemonė realiuoju laiku sistemoje „Linux“.
- 4 būdai žiūrėti arba stebėti žurnalo failus realiuoju laiku
- fswatch – stebi failų ir katalogų pakeitimus sistemoje „Linux“.
- Pyintify – stebėkite failų sistemos pokyčius realiuoju laiku sistemoje „Linux“.
- „Inav“ – žiūrėkite „Apache“ žurnalus realiuoju laiku sistemoje „Linux“.
Watchman yra atvirojo kodo failų stebėjimo paslauga, kuri stebi failus ir įrašo arba suaktyvina veiksmus, kai jie pasikeičia. Norėdami užduoti klausimų arba pasidalyti savo mintimis, naudokite toliau pateiktą atsiliepimų formą.