incron (Русский)
incron это "inotify cron" система. Она состоит из демона и таблицы манипулятора. Вы можете использовать это подобно обычному cron. Отличие в том что inotify cron поддерживает события файловой системы лучше чем периоды.
Установка
Установите пакет incron.
Активация и автозапуск
После установки, демон не будет включён по умолчанию. Вы можете включить incrond.service.
Конфигурация
Incrontabs никогда не должен быть изменен напрямую; вместо этого, пользователи должны использовать incrontab программу чтобы работать с их incrontabs.
Использование incrontab
Чтобы отобразить incrontabs, нужно выполнить:
$ incrontab -l
Чтобы редактировать incrontabs, нужно выполнить:
$ incrontab -e
Чтобы удалить incrontabs, нужно выполнить:
$ incrontab -r
Чтобы перезагрузить incrond выполните:
$ incrontab -d
Чтобы отредактировать чужой incrontab, выполните:
# incrontab -u пользователь -e
Форматирование Incrontab
Каждая строка в incrontab файле это таблица которую демон должен выполнить когда происходит событие с определённым файлом или директорией.
Вот базовый формат incrontab:
путь маска команда
- путь
- это директория или файл за которыми incrond будет следить.
- маска
- тип события файловой системы который будет ждать incrond. Этот параметр может быть отделён ковычками.
- команда
- команда которая будет выполнена после ожидаемого события.
Тип маски
incrontab использует типы масок для точного указания что должно произойти в файловой системе. Для подробностей см. inotify(7)
Выполнить команду когда файл прочитан:
IN_ACCESS
Выполнить команду когда метадата файла или сам файл изменён (к примеру timestamps, permissons):
IN_ATTRIB
Выполнить команду когда файл открытый для записи закрывается:
IN_CLOSE_WRITE
Выполнить команду когда файл не открытый для записи закрывается:
IN_CLOSE_NOWRITE
Выполнить команду когда файл или директория создаётся в отслеживаемой директории:
IN_CREATE
Выполнить команду когда файл или директория удаляется из отслеживаемой директории:
IN_DELETE
Выполнить команду когда файл или директория удаляется из отслеживаемой директории (или перемещён в другую файловую систему):
IN_DELETE_SELF
Выполнить команду когда файл был изменён:
IN_MODIFY
Выполнить команду когда файл или директория перемещена файловой системой:
IN_MOVE_SELF
Выполнить команду когда файл или директория перемещена вне отслеживаемой директории:
IN_MOVED_FROM
Выполнить команду когда файл или директория перемещена в отслеживаемую директорию:
IN_MOVED_TO
Выполнить команду когда файл или директория открыта:
IN_OPEN
Произвольные типы маски
Incrond предоставляет дополнительные произвольные события для модификации отслеживаемого состояния.
К примеру, чтобы остановить отслеживание событий пока одно из них не выполнится, добавьте loopable=true в список событий:
IN_CLOSE,loopable=true
Событие с зацикленным событием не будет запущено пока соответствующая команда не будет выполнена снова.
Смотрите incrontab(5) для полного списка произвольных типов масок.