У меня есть сценарий, который работает отлично, если я выполняю его из командной строки вручную. Однако, когда это работает через крон, сбои задания со следующей ошибкой:
/usr/bin/env: escript: Никакой такой файл или каталог
Первая строка в сценарии:
#!/usr/bin/env escript
Единственная вещь, которую я могу изобразить, состоит в том, что escript не находится, и это вызвано тем, что он не установлен в/usr/bin, но в подкаталоге корневого каталога пользователя.
Мое понимание - возможно, неправильно понимающий - крона - то, что крон выполняет каждое задание в crontab пользователя под UID/GID пользователя. Разве это не должно также наследовать переменную ПУТИ от пользователя также? Все должно быть указано как полные пути?
Крон работает под UID пользователя, но с минимальным PATH
. Ваш сценарий должен использовать полный путь для интерпретатора (escript), или необходимо установить PATH
в crontab.
крон не наследовал ПУТЬ от интерактивной установки пользователей. ПУТЬ установлен к "/usr/bin:/bin"
Ypu может установить переменные среды на crontab строке
Посмотрите человека crontab для получения дополнительной информации например, человека crontab