如何在 cron 中运行“/usr/sbin/”二进制文件?

如何在 cron 中运行“/usr/sbin/”二进制文件?

我以 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

相关内容