Контролировать каталог с помощью сценария оболочки

Я ищу команду оболочки как функцию inotify ядра.

Есть ли команда, которая будет контролировать каталог, который можно использовать так:

while [ 1 ]; do
   name-of-monitor-program . && echo "something changed"
done

2 ответа

То, что вы ищете, является incron.

incron а также incrontab являются inotify cron-приложения, которые вместо того, чтобы запускать события в зависимости от времени, следят за определенной папкой / файлом и запускают сценарии / команды на основе того, что происходит с этой папкой / файлом, и даже интерполируют имя этого файла / папки в команду.

События объясняются здесь: http://linux.die.net/man/5/incrontab

Типичный вариант использования будет "наблюдать за этой папкой для входящих файлов, выгружаемых через (S)FTP и транскодировать их", вместо того, чтобы иметь cron, который запускается каждую минуту и ​​проверяет наличие новых файлов.

Также стоит отметить, что классы разработчиков incron как программное обеспечение Альфа. Я использовал его в производственной среде раньше без проблем, но это стоит рассмотреть.

Я нашел iwatch,

Я не знаю, почему я не думал делать apt-cache search inotify прежде чем задать этот вопрос.

Вот как я это использовал:

iwatch -r -c "PATH=$PATH; program-i-wanted-to-run" .

Мне пришлось передать переменную среды PATH, потому что когда программа порождается, она не наследует переменные среды оболочки.

Другие вопросы по тегам