"/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 для этого пользователя, ничего больше.

4
задан fixer1234
24.03.2023 7:42 Количество просмотров материала 3182
Распечатать страницу

3 ответа

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

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

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

4
отвечен BenjiWiebe 2023-03-25 15:30

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

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

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

1
отвечен snitko 2023-03-25 17:47

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

# which bash
/bin/bash

так попробуй

/usr/bin/env /bin/bash /path/to/some/script > ~/cron.log 2>&1
-3
отвечен Stephan 2023-03-25 20:04

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх