Pyinotify - Sprememba sprememb datotečnega sistema v realnem času v Linuxu


Pyinotify je preprost, a uporaben Python modul za sprotno spremljanje sprememb datotečnih sistemov v Linuxu.

Kot skrbnik sistema ga lahko uporabljate za spremljanje sprememb v imeniku, ki nas zanima, kot je spletni imenik ali imenik za shranjevanje podatkov aplikacij in druge.

Odvisno je od inotify (funkcija jedra Linuxa, vključena v jedro 2.6.13), ki je obvestilo na podlagi dogodkov, njegova obvestila pa se iz prostora jedra izvozijo v uporabniški prostor s tremi sistemskimi klici.

Namen pyinotiy je povezati tri sistemske klice in podpirati izvedbo na njih, ki zagotavlja skupna in abstraktna sredstva za upravljanje teh funkcij.

V tem članku vam bomo pokazali, kako namestiti in uporabljati pyinotify v Linuxu za sprotno spremljanje sprememb ali sprememb datotečnega sistema.

Če želite uporabljati pyinotify, mora vaš sistem delovati:

  1. jedro Linuxa 2.6.13 ali novejše
  2. Python 2.4 ali novejši

Kako namestiti Pyinotify v Linux

Najprej začnite s preverjanjem različic jedra in Pythona, nameščenih v vašem sistemu, kot sledi:

# uname -r 
# python -V

Ko so odvisnosti izpolnjene, bomo s pipom namestili pynotify. V večini distribucij Linuxa je Pip že nameščen, če uporabljate binarne datoteke Python 2> = 2.7.9 ali Python 3> = 3.4, ki ste jih prenesli s python.org, sicer pa ga namestite na naslednji način:

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

Zdaj namestite pyinotify takole:

# pip install pyinotify

Iz privzetega repozitorija bo namestil razpoložljivo različico. Če želite imeti najnovejšo stabilno različico pyinotify, razmislite o kloniranju repozitorija git kot je prikazano.

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

Kako uporabljati pyinotify v Linuxu

V spodnjem primeru spremljam vse spremembe domačega imenika uporabnika tecmint (/ home/tecmint) kot korenski uporabnik (prijavljen prek ssh), kot je prikazano na posnetku zaslona:

# python -m pyinotify -v /home/tecmint

Nato bomo spremljali morebitne spremembe spletnega imenika (/var/www/html/linux-console.net):

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

Za izhod iz programa preprosto pritisnite [Ctrl + C] .

Opomba: Ko zaženete pyinotify, ne da bi navedli kateri koli imenik za spremljanje, se privzeto šteje imenik /tmp .

Poiščite več o Pyinotify na Githubu: https://github.com/seb-m/pyinotify

To je vse za zdaj! V tem članku smo vam pokazali, kako namestiti in uporabljati pyinotify, uporaben modul Python za spremljanje sprememb datotečnih sistemov v Linuxu.

Ste že naleteli na podobne module Python ali sorodna orodja/pripomočke za Linux? Sporočite nam v komentarjih, morda lahko postavite tudi katero koli vprašanje v zvezi s tem člankom.