В качестве пользователя root я добавил crontab -e
чтобы добавить свой скрипт. Однако скрипт использует двоичный файл в /usr/sbin/
и я получаю сообщение об ошибке, что он не существует, когда скрипт запускается из cron. Как это исправить?
2 ответа
Вы должны просто использовать полный путь для двоичного файла.
Допустим, вы хотели использовать ipconfig
в работе cron. Вместо того, чтобы ваш crontab имел такую команду:
ipconfig
Вы бы изменили это так:
/usr/sbin/ipconfig
Помните: пути оболочки просто сообщают системе, где искать двоичные / исполняемые файлы, когда вы вызываете их из командной строки, чтобы упростить выполнение команд при наборе текста. Предоставление полного пути для исполняемых файлов / исполняемых файлов работает на 100% так же, как и для сценариев.
Вероятно, не самый чистый подход, но
Вы можете установить переменную PATH в crontab, поместив ее в качестве первой строки вашего crontab
# start of crontab file
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# your cron entries below