Проблема с incron (inotify cron system)

Полчаса бился с этими ошибками, когда ждал выполнения команды, после создания файла /tmp/1:
incrond: access denied on /tmp/1 - events will be discarded silently
incrond: cannot create watch for user root: (2) Device or resource busy

Проблема оказалась в невнимательном чтении манов, путь указывается не на файл который создаётся, а на папку в которой будет этот файл:
IN_CREATE — Файл/директория создан(а) в отслеживаемой директории
IN_DELETE — Файл/директория удален(а) в отслеживаемой директории

В итоге для проверки создания и удаления конкретного файла, использовал вот такой incrontab:
<путь> <событие> <команда>
/tmp IN_CREATE [ -f /tmp/1 ] && logger "Create /tmp/1"
/tmp IN_DELETE [ -f /tmp/1 ] || logger "Delete /tmp/1"

Где [ -f /tmp/1 ] проверка файла. Подробнее про incron на русском можно посмотреть здесь.

0 comments:

Post a Comment