Watchman - tiedostojen ja hakemistojen tarkkailutyökalu muutoksia varten
Watchman on avoimen lähdekoodin ja monialustainen tiedostojen katselupalvelu, joka tarkkailee tiedostoja ja tallentaa tai suorittaa toimintoja niiden muuttuessa. Sen on kehittänyt Facebook, ja se toimii Linuxissa, OS X:ssä, FreeBSD:ssä ja Solarisissa. Se toimii asiakas-palvelin-mallissa ja käyttää Linux-ytimen inotify-apuohjelmaa tehokkaamman ilmoituksen tarjoamiseen.
Watchmanin hyödyllisiä käsitteitä
- Se seuraa rekursiivisesti yhtä tai useampaa hakemistopuuta.
- Jokaista tarkkailtavaa hakemistoa kutsutaan juurihakemistoksi.
- Se voidaan määrittää komentorivillä tai JSON-muodossa kirjoitetun konfigurointitiedoston kautta.
- Se tallentaa muutokset lokitiedostoihin.
- Tukee juurissa tapahtuvien tiedostomuutosten tilaamista.
- Voit kysyä juurilta tiedoston muutoksia edellisen tarkistuksen jälkeen tai puun nykyistä tilaa.
- Se voi katsoa koko projektin.
Tässä artikkelissa selitämme, kuinka watchmania asennetaan ja käytetään tiedostojen katseluun (valvontaan) ja tallentamiseen, kun ne muuttuvat Linuxissa. Esittelemme myös lyhyesti, kuinka katsella hakemistoa ja kutsua komentosarja sen muuttuessa.
Watchman-tiedostojen katselupalvelun asentaminen Linuxiin
Asennamme watchman-palvelun lähteistä, joten asenna ensin nämä vaaditut riippuvuudet libssl-dev, autoconf, automake libtool, setuptools, python-devel ja libfolly käyttämällä seuraavaa komentoa Linux-jakelussasi.
----------- 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'
Kun tarvittavat riippuvuudet on asennettu, voit aloittaa watchmanin rakentamisen lataamalla sen github-tietovaraston, siirtymällä paikalliseen arkistoon, konfiguroida, rakentaa ja asentaa sen seuraavilla komennoilla.
git clone https://github.com/facebook/watchman.git
cd watchman
git checkout v4.9.0
./autogen.sh
./configure
make
sudo make install
Tiedostojen ja hakemistojen katselu Watchmanilla Linuxissa
Watchman voidaan määrittää kahdella tavalla: (1) komentorivillä demonin ollessa käynnissä taustalla tai (2) JSON-muodossa kirjoitetun määritystiedoston avulla.
Jos haluat katsella muutoksia hakemistoon (esim. ~/bin
), suorita seuraava komento.
watchman watch ~/bin/
Seuraava komento kirjoittaa määritystiedoston nimeltä state
kohtaan /usr/local/var/run/watchman/log
samassa paikassa.
Voit tarkastella kahta tiedostoa käyttämällä cat-komentoa kuten show.
cat /usr/local/var/run/watchman/aaronkilik-state/state
cat /usr/local/var/run/watchman/aaronkilik-state/log
Voit myös määrittää, mitä toimintoa käynnistetään, kun hakemistoa tarkkaillaan muutosten varalta. Esimerkiksi seuraavassa komennossa 'test-trigger
' on liipaisimen nimi ja ~bin/pav.sh
on komentosarja, joka kutsutaan, kun muutoksia havaitaan. valvottavassa hakemistossa.
Testitarkoituksiin pav.sh
-komentosarja luo yksinkertaisesti tiedoston, jossa on aikaleima (eli file.$time.txt
) samaan hakemistoon missä skripti on tallennettu.
time=`date +%Y-%m-%d.%H:%M:%S`
touch file.$time.txt
Tallenna tiedosto ja tee komentosarjasta suoritettava kuva kuvan mukaisesti.
chmod +x ~/bin/pav.sh
Käynnistä liipaisin suorittamalla seuraava komento.
watchman -- trigger ~/bin 'test-trigger' -- ~/bin/pav.sh
Kun suoritat watchman-komennon seurataksesi hakemistoa, se on lisätty tarkkailuluetteloon ja tarkastellaksesi sitä, suorita seuraava komento.
watchman watch-list
Jos haluat tarkastella juuren triggeriluetteloa, suorita seuraava komento (korvaa ~/bin
root
-nimellä).
watchman trigger-list ~/bin
Yllä olevan kokoonpanon perusteella aina, kun ~/bin
-hakemisto muuttuu, sen sisään luodaan tiedosto, kuten file.2019-03-13.23:14:17.txt
. ja voit tarkastella niitä ls-komennolla.
ls
Watchman-palvelun asennuksen poistaminen Linuxissa
Jos haluat poistaa watchmanin asennuksen, siirry lähdehakemistoon ja suorita seuraavat komennot:
sudo make uninstall
cd '/usr/local/bin' && rm -f watchman
cd '/usr/local/share/doc/watchman-4.9.0 ' && rm -f README.markdown
Saat lisätietoja vierailemalla Watchman Github -tietovarastossa: https://github.com/facebook/watchman.
Saatat myös haluta lukea nämä seuraavat aiheeseen liittyvät artikkelit.
- Swatchdog – yksinkertainen lokitiedostojen tarkkailija reaaliajassa Linuxissa
- 4 tapaa katsella tai seurata lokitiedostoja reaaliajassa
- fswatch – Valvoo tiedostoja ja hakemistomuutoksia Linuxissa
- Pyintify – Tarkkaile tiedostojärjestelmän muutoksia reaaliajassa Linuxissa
- Inav – Katso Apache-lokeja reaaliajassa Linuxissa
Watchman on avoimen lähdekoodin tiedostojen katselupalvelu, joka tarkkailee tiedostoja ja tallentaa tai käynnistää toimintoja, kun ne muuttuvat. Alla olevalla palautelomakkeella voit esittää kysymyksiä tai jakaa ajatuksesi kanssamme.