Проблемы с запуском bash-скрипта из incron

У меня есть простая настройка задачи incron для запуска команды всякий раз, когда определенный файл.json записывается, а затем закрывается.

/var/www/html/api/private/resources/myfile.json IN_CLOSE_WRITE,IN NO LOOP /var/www/html/api/private/resources/run_service.sh

Я вижу, что всякий раз, когда в файл записывается, есть запись в системном журнале для события, и команда, которая была запущена - в соответствии с <date> - incrond: CMD (/var/www/html/api/private/resources/run_service.sh),

Но ничего не происходит...

Первоначально я думал, что это будет вызвано проблемой со сценарием, но замена команды сценария на что-то простое, например echo "hello world" > /tmp/mylog.log по-прежнему не дает результатов или результатов. Я, кажется, ударил кирпичную стену с этим!

Обновить

Изменение команды incron для чтения "/bin/bash /var/www/html/api/private/resources/run_service.sh" теперь, кажется, правильно запускает скрипт, так как теперь я могу получить вывод из скрипта.

1 ответ

Решение

Простая ошибка с моей стороны, несмотря на то, что все примеры в Интернете показывают, что использование скрипта в качестве команды должно его запускать, для меня это работает, только если я явно вызываю bash для его выполнения

"<my directory/file to watch> <trigger condition> /bin/bash /var/www/html/api/private/resources/run_service.sh
Другие вопросы по тегам