Приводят cronjob к сбою с/usr/bin/env

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

/usr/bin/env: escript: Никакой такой файл или каталог

Первая строка в сценарии:

#!/usr/bin/env escript

Единственная вещь, которую я могу изобразить, состоит в том, что escript не находится, и это вызвано тем, что он не установлен в/usr/bin, но в подкаталоге корневого каталога пользователя.

Мое понимание - возможно, неправильно понимающий - крона - то, что крон выполняет каждое задание в crontab пользователя под UID/GID пользователя. Разве это не должно также наследовать переменную ПУТИ от пользователя также? Все должно быть указано как полные пути?

1
задан 04.12.2014, 10:04

2 ответа

Крон работает под UID пользователя, но с минимальным PATH. Ваш сценарий должен использовать полный путь для интерпретатора (escript), или необходимо установить PATH в crontab.

1
ответ дан 17.12.2019, 00:34

крон не наследовал ПУТЬ от интерактивной установки пользователей. ПУТЬ установлен к "/usr/bin:/bin"

Ypu может установить переменные среды на crontab строке

Посмотрите человека crontab для получения дополнительной информации например, человека crontab

0
ответ дан 17.12.2019, 00:34

Теги

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