作為 root,我添加了用於crontab -e
添加我的腳本。然而,該腳本使用了二進位文件/usr/sbin/
,當腳本從 cron 運行時,我收到一個關於它不存在的錯誤。我該如何解決?
答案1
您應該只使用二進位檔案的完整路徑。
假設您想ipconfig
在 cron 作業中使用。而不是你的 crontab 有這樣的指令:
ipconfig
您可以將其變更為:
/usr/sbin/ipconfig
請記住:Shell 路徑只是告訴系統當您從命令列調用二進位/可執行檔時在哪裡查找它們,以使您更輕鬆地輸入命令。提供二進位檔案/可執行檔的完整路徑對於腳本使用是 100% 相同的。
答案2
可能不是最乾淨的方法,但是
您可以在 crontab 中設定 PATH 變量,並將其作為 crontab 的第一行
# start of crontab file
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# your cron entries below