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

4

Я знаю о 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в каждом подкаталоге, и это не работает для меня.

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

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

Даниил
источник

Ответы:

-1

Сторожевой есть Python library and shell utilities to monitor filesystem events.

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