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:
- Linuxové jádro 2.6.13 nebo vyšší
- 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.