4

В качестве пользователя root я добавил crontab -e чтобы добавить свой скрипт. Однако скрипт использует двоичный файл в /usr/sbin/ и я получаю сообщение об ошибке, что он не существует, когда скрипт запускается из cron. Как это исправить?

2 ответа2

7

Вы должны просто использовать полный путь для двоичного файла.

Допустим, вы хотели использовать ipconfig в работе cron. Вместо того, чтобы ваш crontab имел такую команду:

ipconfig

Вы бы изменили это так:

/usr/sbin/ipconfig

Помните: пути оболочки просто сообщают системе, где искать двоичные / исполняемые файлы, когда вы вызываете их из командной строки, чтобы упростить выполнение команд при наборе текста. Предоставление полного пути для исполняемых файлов / исполняемых файлов работает на 100% так же, как и для сценариев.

3

Вероятно, не самый чистый подход, но

Вы можете установить переменную PATH в crontab, поместив ее в качестве первой строки вашего crontab

# start of crontab file
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# your cron entries below

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .