Pyinotify - Overvåk filsystemendringer i sanntid i Linux


Pyinotify er en enkel, men nyttig Python-modul for å overvåke filsystemendringer i sanntid i Linux.

Som systemadministrator kan du bruke den til å overvåke endringer som skjer i en katalog av interesse, for eksempel webkatalog eller programdatalagringskatalog og utover.

Foreslått lesing: fswatch – Overvåker filer og katalogendringer eller modifikasjoner i Linux

Det avhenger av inotify (en Linux-kjernefunksjon innlemmet i kjernen 2.6.13), som er en hendelsesdrevet varsler, varslene eksporteres fra kjerneplass til brukerplass via tre systemanrop.

Hensikten med pyinotiy er å binde de tre systemkallene, og støtte en implementering på toppen av dem som gir en felles og abstrakt måte å manipulere disse funksjonene.

I denne artikkelen vil vi vise deg hvordan du installerer og bruker pyinotify i Linux for å overvåke filsystemendringer eller modifikasjoner i sanntid.

Avhengigheter

For å bruke pyinotify, må systemet ditt kjøre:

  1. Linux-kjerne 2.6.13 eller høyere
  2. Python 2.4 eller høyere

Hvordan installere Pyinotify i Linux

Start først med å sjekke kjerne- og Python-versjonene som er installert på systemet ditt som følger:

uname -r 
python -V

Når avhengighetene er oppfylt, bruker vi pip til å installere pynotify. I de fleste Linux-distribusjoner er Pip allerede installert hvis du bruker Python 2 >=2.7.9 eller Python 3 >=3.4 nedlastede binærfiler fra python.org, ellers installer den som følger:

yum install python-pip      [On CentOS based Distros]
apt-get install python-pip  [On Debian based Distros]
dnf install python-pip      [On Fedora 22+]

Nå, installer pyinotify slik:

pip install pyinotify

Den vil installere tilgjengelig versjon fra standarddepotet, hvis du ønsker å ha en siste stabil versjon av pyinotify, vurder å klone dets git-depot som vist.

git clone https://github.com/seb-m/pyinotify.git
cd pyinotify/
ls
python setup.py install

Hvordan bruke pyinotify i Linux

I eksemplet nedenfor overvåker jeg eventuelle endringer i brukerens tecmints hjemmekatalog (/home/tecmint) som rotbruker (logget inn via ssh) som vist på skjermbildet:

python -m pyinotify -v /home/tecmint

Deretter vil vi holde øye med eventuelle endringer i nettkatalogen (/var/www/html/linux-console.net):

python -m pyinotify -v /var/www/html/linux-console.net

For å avslutte programmet, trykk ganske enkelt [Ctrl+C].

Merk: Når du kjører pyinotify uten å spesifisere noen katalog som skal overvåkes, anses /tmp-katalogen som standard .

Finn mer om Pyinotify på Github: https://github.com/seb-m/pyinotify

Det er alt for nå! I denne artikkelen viste vi deg hvordan du installerer og bruker pyinotify, en nyttig Python-modul for å overvåke filsystemendringer i Linux.

Har du kommet over noen lignende Python-moduler eller relaterte Linux-verktøy/verktøy? Gi oss beskjed i kommentarene, kanskje du like godt kan stille spørsmål i forhold til denne artikkelen.