我以 root 身份crontab -e
添加了脚本。但是,脚本使用二进制文件/usr/sbin/
,当脚本从 cron 运行时,我收到一个错误,提示它不存在。我该如何修复这个问题?
答案1
您应该只使用二进制文件的完整路径。
假设您想ipconfig
在 cron 作业中使用。您的 crontab 中不应有这样的命令:
ipconfig
您可以将其更改为:
/usr/sbin/ipconfig
请记住:Shell 路径只是告诉系统在您从命令行调用二进制文件/可执行文件时在哪里查找它们,以简化您输入命令的过程。提供二进制文件/可执行文件的完整路径与脚本使用完全相同。
答案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