У меня есть сценарий, который сканирует каталог и делает некоторое обслуживание на файлах в нем. Другой процесс создает файлы в каталоге (10 - 30 файлов в день).
Сценарий называют через ежедневное задание крона. То, в чем я нуждаюсь, должно инициировать сценарий на событии (каждый раз, когда новый файл создается в каталоге). Я предпочитаю это вместо того, чтобы увеличить частоту задания крона.
Как я могу сделать это? существует ли команда или программа для установки?
Заранее спасибо за любую справку.
inoticoming является демоном для наблюдения каталога с inotify платформой Linux и триггерными действиями, после того как файлы с собственными именами помещаются туда.
Например, это может использоваться, чтобы ожидать .changes файлов, загруженных в каталог и назвать reprepro для помещения их в репозиторий.
incron "inotify крон" система. Это работает как обычный крон, но управляется событиями файловой системы вместо событий времени. Этот пакет предоставляет две программы, демон, названный "incrond" (аналогичный crond) и манипулятор таблицы "incrontab" (как "crontab").
incron использует Ядро Linux inotify syscalls.
как крон, каждый пользователь может отредактировать его собственные incron таблицы.
Другая служебная ценность для знания fileschanged
(страница справочника здесь), который может следить за развитием события файловой системы на выбранных файлах или каталогах, например, следующая команда
fileschanged -s created -t1 $PWD
должен контролировать текущий каталог для событий создания файла, написав имя созданного файла на stdout
с тайм-аутом 1 секунды.
fileschanged
может наблюдать папки рекурсивно (как может iwatch
как отмечено в другом ответе), в отличие от этого incron
и inoticoming
.
страница справочника inotify расположена там
если Вы предпочитаете сценарии Python, можно использовать pyinotify
Существует также названная небольшая программа iwatch
- см. страницу справочника (эта страница для Ubuntu, точной (12.04), она имеет ссылки на другие версии человечности).
iwatch
имеет папки часов способности рекурсивно (т.е.: подпапки также) и послать электронные письма в ответ на события файла/каталога.