Linux: выполнить данную команду при изменении файла / каталога?

925
Daniel

Я знаю о inotifywait/ inotifywatchот inotify-tools, о entr( http://entrproject.org/ ) и дюжине сценариев оболочки вокруг, но они не то, что мне нужно.

Мне нужно что-то похожее guard( https://github.com/guard/guard ).

Они работают так: вы создаете файл в каталоге, в котором указывается, что отслеживать и что делать, когда эти файлы изменяются.

С охраной все в порядке, но это: 1) ресурсоемкий (а в больших проектах он медленный), 2) требуется целый Ruby + куча гемов зависимостей, 3) требуется плагин для запуска команд оболочки.

Есть также tup( http://gittup.org/tup/ ), и это чертовски круто, за исключением одного чрезвычайно глупого ограничения: он не может выводить в каталоги, кроме того, где Tupfileнаходится. Его способ заключается в создании Tupfileв каждом подкаталоге, и это не работает для меня.

Что я хочу в конце: я указываю шаблоны файлов и каталоги (если нет, затем наблюдаю все) в каком-то файле, запускаю какую-то команду, и она отслеживает вещи, соответствующие заданным правилам, всякий раз, когда файлы изменяются / добавляются, они выполняют данные команды. Это оно.

Какие-либо предложения?

4

1 ответ на вопрос

-1
P̲̳x͓L̳

Watchdog is Python library and shell utilities to monitor filesystem events.

Вы не задумывались над тем, как это вписывается в то, что ищет OP? 50-3 10 лет назад 0

Похожие вопросы