Wyszukiwanie w witrynie

Pyinotify — monitoruj zmiany w systemie plików w czasie rzeczywistym w systemie Linux


Pyinotify to prosty, ale przydatny moduł Pythona do monitorowania zmian w systemach plików w czasie rzeczywistym w systemie Linux.

Jako administrator systemu możesz go używać do monitorowania zmian zachodzących w wybranym katalogu, takim jak katalog internetowy lub katalog przechowywania danych aplikacji i nie tylko.

Sugerowana lektura: fswatch – monitoruje zmiany lub modyfikacje plików i katalogów w systemie Linux

Zależy to od inotify (funkcji jądra Linuksa włączonej do jądra 2.6.13), która jest powiadamianiem sterowanym zdarzeniami. Jego powiadomienia są eksportowane z przestrzeni jądra do przestrzeni użytkownika za pomocą trzech wywołań systemowych.

Celem pyinotiy jest powiązanie trzech wywołań systemowych i obsługa implementacji na nich, zapewniając wspólne i abstrakcyjne środki do manipulowania tymi funkcjonalnościami.

W tym artykule pokażemy, jak zainstalować i używać pyinotify w systemie Linux do monitorowania zmian lub modyfikacji systemu plików w czasie rzeczywistym.

Zależności

Aby móc korzystać z pyinotify, Twój system musi działać:

  1. Jądro Linuksa 2.6.13 lub nowsze
  2. Python 2.4 lub nowszy

Jak zainstalować Pyinotify w systemie Linux

Najpierw zacznij od sprawdzenia wersji jądra i Pythona zainstalowanych w twoim systemie w następujący sposób:

uname -r 
python -V

Po spełnieniu zależności użyjemy pip do zainstalowania pynotify. W większości dystrybucji Linuksa Pip jest już zainstalowany, jeśli używasz pobranych plików binarnych Python 2 >=2.7.9 lub Python 3 >=3.4 z python.org, w przeciwnym razie zainstaluj go w następujący sposób:

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

Teraz zainstaluj pyinotify w następujący sposób:

pip install pyinotify

Zainstaluje dostępną wersję z domyślnego repozytorium. Jeśli szukasz najnowszej stabilnej wersji pyinotify, rozważ sklonowanie repozytorium git, jak pokazano.

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

Jak korzystać z pyinotify w systemie Linux

W poniższym przykładzie monitoruję wszelkie zmiany w katalogu domowym użytkownika tecmint (/home/tecmint) jako użytkownik root (zalogowany przez ssh), jak pokazano na zrzucie ekranu:

python -m pyinotify -v /home/tecmint

Następnie będziemy obserwować wszelkie zmiany w katalogu internetowym (/var/www/html/linux-console.net):

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

Aby wyjść z programu, po prostu naciśnij [Ctrl+C].

Uwaga: po uruchomieniu pyinotify bez określenia katalogu do monitorowania, domyślnie brany jest pod uwagę katalog /tmp .

Znajdź więcej o Pyinotify na Githubie: https://github.com/seb-m/pyinotify

To wszystko na teraz! W tym artykule pokazaliśmy, jak zainstalować i używać pyinotify, przydatnego modułu Pythona do monitorowania zmian w systemach plików w systemie Linux.

Czy natknąłeś się na podobne moduły Pythona lub powiązane narzędzia/narzędzia systemu Linux? Daj nam znać w komentarzach, być może równie dobrze możesz zadać dowolne pytanie dotyczące tego artykułu.