Vyhledávání na webu

Pyinotify - Monitorujte změny souborového systému v reálném čase v Linuxu


Pyinotify je jednoduchý, ale užitečný modul Pythonu pro monitorování změn souborových systémů v reálném čase v Linuxu.

Jako správce systému jej můžete použít ke sledování změn, které se dějí v adresáři, který vás zajímá, jako je webový adresář nebo adresář úložiště dat aplikace a další.

Doporučená četba: fswatch – Monitoruje změny nebo úpravy souborů a adresářů v Linuxu

Závisí to na inotify (funkce linuxového jádra zahrnutá v jádře 2.6.13), což je událostmi řízený oznamovatel, jehož oznámení jsou exportována z prostoru jádra do uživatelského prostoru pomocí tří systémových volání.

Účelem pyinotiy je svázat tři systémová volání a podporovat jejich implementaci, která poskytuje společné a abstraktní prostředky pro manipulaci s těmito funkcemi.

V tomto článku vám ukážeme, jak nainstalovat a používat pyinotify v Linuxu ke sledování změn nebo úprav souborového systému v reálném čase.

Závislosti

Abyste mohli používat pyinotify, váš systém musí být spuštěn:

  1. Linuxové jádro 2.6.13 nebo vyšší
  2. Python 2.4 nebo vyšší

Jak nainstalovat Pyinotify v Linuxu

Nejprve začněte tím, že zkontrolujete verze jádra a Pythonu nainstalované ve vašem systému takto:

uname -r 
python -V

Jakmile jsou závislosti splněny, použijeme pip k instalaci pynotify. Ve většině distribucí Linuxu je již Pip nainstalován, pokud používáte stažené binární soubory Python 2 >=2.7.9 nebo Python 3 >=3.4 z python.org, jinak jej nainstalujte následovně:

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

Nyní nainstalujte pyinotify takto:

pip install pyinotify

Nainstaluje dostupnou verzi z výchozího úložiště, pokud chcete mít nejnovější stabilní verzi pyinotify, zvažte klonování jeho úložiště git, jak je znázorněno.

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

Jak používat pyinotify v Linuxu

V níže uvedeném příkladu sleduji jakékoli změny v domovském adresáři uživatele tecmint (/home/tecmint) jako uživatel root (přihlášený přes ssh), jak je znázorněno na snímku obrazovky:

python -m pyinotify -v /home/tecmint

Dále budeme sledovat jakékoli změny ve webovém adresáři (/var/www/html/linux-console.net):

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

Pro ukončení programu jednoduše stiskněte [Ctrl+C].

Poznámka: Když spustíte pyinotify bez určení adresáře, který chcete monitorovat, je ve výchozím nastavení považován adresář /tmp .

Více o Pyinotify na Github: https://github.com/seb-m/pyinotify

To je prozatím vše! V tomto článku jsme vám ukázali, jak nainstalovat a používat pyinotify, užitečný modul Pythonu pro sledování změn souborových systémů v Linuxu.

Narazili jste na nějaké podobné moduly Pythonu nebo související linuxové nástroje/utility? Dejte nám vědět v komentářích, možná se také můžete zeptat na jakoukoli otázku související s tímto článkem.