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