ipsec auto --status 在 cronjob 中失败

ipsec auto --status 在 cronjob 中失败

我有一个服务器监控脚本,除其他外,它使用以下命令检查 IPSec 隧道的状态

ipsec auto --status

当从控制台(以 root 身份)运行时,它的工作方式就像一个魅力,但一旦我从(root)cronjob 运行它,命令就会失败:根本没有输出。

我什至尝试创建这个简单的根 cronjob:

*/1 * * * * ipsec auto --status > /tmp/ipsec.txt

它所做的只是创建一个空的 /tmp/ipsec.txt 文件!

注意:脚本中的所有其他任务(包括网络和数据库访问)工作正常。

欢迎任何灯光。

答案1

听起来好像cron没有ipsec在路上看到。在 crontab 中包含二进制文件的绝对路径是一个非常好的习惯。/var/log/messages或中可能有一些抱怨/var/log/cron

*/1 * * * * /usr/sbin/ipsec auto --status

您还可以将PATH环境变量添加到 crontab 的顶部。这PATH将适用于 crontab 中的所有作业。

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:
*/1 * * * * /usr/sbin/ipsec auto --status

相关内容