Назад | Перейти на главную страницу

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

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

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

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

Вы ищете Incron.

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

Здесь описаны события: http://linux.die.net/man/5/incrontab

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

Также стоит отметить, что классы разработчика incron как программное обеспечение Alpha. Раньше я без проблем использовал его в производственной среде, но его стоит рассмотреть.

я нашел iwatch.

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

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

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

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