"/usr/bin / env bash" не найден при запуске из сценария cron

у меня есть это в мой кронтаб:

PATH=/usr/bin:/usr/local/bin:$PATH
*/1 * * * * /usr/bin/env bash > ~/cron.log 2>&1

вывод в cron.log следующий:

/usr/bin/env bash: No such file or directory

/usr/bin/env а также /bin/bash оба существуют. И я также могу выполнить эту команду от того же пользователя, которому принадлежит этот кронтаб без каких-либо ошибок. Я также попытался добавить

SHELL=/bin/bash

в верхней части файла crontab. Никакие эффекты. Понятия не имею, что происходит. Также это:

*/1 * * * * which bash > ~/cron.log 2>&1

в файле журнала ничего не отображается. Это все, что у меня есть мой crontab для этого пользователя, ничего больше.

5
задан fixer1234
источник

3 ответов

С вашего скрипта что cron запуски начинаются с #!/usr/bin/env bash (верно?), все что вам нужно сделать в вашей crontab is:

*/1 * * * * /path/to/script > ~/cron.log 2>&1

и убедитесь, что скрипт действительно что-то выводит; если ваш скрипт полностью тихий, ваш файл журнала будет быть пустым.

4
отвечен BenjiWiebe 2017-03-20 10:17:22
источник

получается, я не должна была эта строка:

PATH=/usr/bin:/usr/local/bin:$PATH

удаление его из crontab Исправлена проблема.

1
отвечен snitko 2013-02-15 01:10:33
источник

Я не уверен, что именно вы пытаетесь сделать, но для меня:

# which bash
/bin/bash

так попробуй

/usr/bin/env /bin/bash /path/to/some/script > ~/cron.log 2>&1
-3
отвечен Stephan 2013-02-15 00:47:51
источник

Другие вопросы bash computing-environment cron