Jump to content

incron (Русский)

From ArchWiki

Состояние перевода: На этой странице представлен перевод статьи Incron. Дата последней синхронизации: 2 сентября 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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) для полного списка произвольных типов масок.