Zoeken op website

Pyinotify - Volg veranderingen in het bestandssysteem in realtime in Linux


Pyinotify is een eenvoudige maar nuttige Python-module voor het in realtime monitoren van wijzigingen in bestandssystemen in Linux.

Als systeembeheerder kunt u het gebruiken om wijzigingen te monitoren die plaatsvinden in een interessante map, zoals een webmap of een map voor de opslag van toepassingsgegevens en daarbuiten.

Voorgesteld lezen: fswatch – Controleert bestanden en mapwijzigingen of -aanpassingen in Linux

Het hangt af van inotify (een Linux-kernelfunctie opgenomen in kernel 2.6.13), een gebeurtenisgestuurde notifier. De meldingen ervan worden via drie systeemaanroepen vanuit de kernelruimte naar de gebruikersruimte geëxporteerd.

Het doel van pyinotiy is om de drie systeemaanroepen te binden en een implementatie daarbovenop te ondersteunen, die een gemeenschappelijke en abstracte manier biedt om deze functionaliteiten te manipuleren.

In dit artikel laten we u zien hoe u pyinotify in Linux installeert en gebruikt om wijzigingen of aanpassingen aan het bestandssysteem in realtime te volgen.

Afhankelijkheden

Om pyinotify te kunnen gebruiken, moet uw systeem actief zijn:

  1. Linux-kernel 2.6.13 of hoger
  2. Python 2.4 of hoger

Hoe Pyinotify onder Linux te installeren

Begin eerst met het controleren van de kernel- en Python-versies die op uw systeem zijn geïnstalleerd, als volgt:

uname -r 
python -V

Zodra aan de afhankelijkheden is voldaan, gebruiken we pip om pynotify te installeren. In de meeste Linux-distributies is Pip al geïnstalleerd als je Python 2 >=2.7.9 of Python 3 >=3.4 binaire bestanden gebruikt gedownload van python.org, anders installeert u het als volgt:

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

Installeer nu pyinotify als volgt:

pip install pyinotify

Het zal de beschikbare versie installeren vanuit de standaard repository. Als je op zoek bent naar de nieuwste stabiele versie van pyinotify, overweeg dan om de git-repository te klonen, zoals weergegeven.

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

Hoe pyinotify onder Linux te gebruiken

In het onderstaande voorbeeld controleer ik eventuele wijzigingen in de thuismap van de gebruiker tecmint (/home/tecmint) als rootgebruiker (ingelogd via ssh), zoals weergegeven in de schermafbeelding:

python -m pyinotify -v /home/tecmint

Vervolgens houden we eventuele wijzigingen in de webdirectory in de gaten (/var/www/html/linux-console.net):

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

Om het programma af te sluiten, drukt u eenvoudigweg op [Ctrl+C].

Opmerking: wanneer u pyinotify uitvoert zonder een map op te geven die u wilt monitoren, wordt standaard rekening gehouden met de map /tmp .

Vind meer over Pyinotify op Github: https://github.com/seb-m/pyinotify

Dat is het voor nu! In dit artikel hebben we je laten zien hoe je pyinotify installeert en gebruikt, een handige Python-module voor het monitoren van wijzigingen in bestandssystemen in Linux.

Ben je vergelijkbare Python-modules of gerelateerde Linux-tools/hulpprogramma's tegengekomen? Laat het ons weten in de reacties, misschien kun je net zo goed een vraag stellen met betrekking tot dit artikel.