Pyinotify – мониторинг изменений файловой системы Linux в режиме реального времени

12.12.2017

Pyinotify – мониторинг изменений файловой системы Linux в режиме реального времени

Библиотека сайта rus-linux.net

Оригинал: Pyinotify – Monitor Filesystem Changes in Real-Time in Linux
Автор: Aaron Kili
Дата публикации: 7 апреля 2017 года
Перевод: А. Кривошей
Дата перевода: декабрь 2017 г.

Pyinotify — это простой, но полезный модуль Python для мониторинга изменений файловой системы в реальном времени в Linux.

Системный администратор может использовать его для мониторинга изменений, происходящих в интересующей его директории, например, в каталоге веб-сайта или каталоге хранения данных приложения.

Утилита зависит от inotify (функция ядра Linux, включенная в ядро 2.6.13), которая уведомляет о событиях, ее уведомления экспортируются из пространства ядра в пространство пользователя через три системных вызова.

Назначение pyinotiy — связать три системных вызова с реализацией модуля поверх них, предоставляя общее и абстрактное средство для управления этими функциональными возможностями.

Зависимости

Для использования pyinotify ваша система должна включать:

Ядро версии не менее 2.6.13
Python версии не менее 2.4

Установка Pyinotify в Linux

Сначала проверьте версии ядра и Python, установленных в вашей системе:

Если требования выполняются, для установки pynotify мы будем использовать pip. Если вы используете Python 2>= 2.7.9 или Python 3>= 3.4, загруженные с python.org, в большинстве дистрибутивов Linux Pip уже будет установлен, в противном случае установите его с помощью следующих команд:

Теперь установите pyinotify:

Будет установлена доступная версия из репозитория по умолчанию, если вы хотите установить последнюю стабильную версию pyinotify, можно клонировать репозиторий git, как показано ниже.

Использование pyinotify

В примере ниже я запускаю мониторинг любых изменений в домашней директории пользователя tecmint (/home/tecmint) от лица root (с авторизацией через ssh), как показано на скриншоте:

Далее мы хотим видеть любые изменения в веб-директории (/var/www/html/tecmint.com):

Чтобы выйти из программы, просто нажмите Ctrl+C.

Примечание: если вы запустите pyinotify без указания директории, он будет отслеживать изменения в /tmp.

Более подробная информация о Pyinotify на Github: https://github.com/seb-m/pyinotify

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *