如何检测 cron 作业中的错误

如何检测 cron 作业中的错误

cron 任务失败的原因有很多。最常见的原因可能是:

  • 语法错误
  • 使用没有正确路径的可执行文件
  • 使用 cron 环境中未定义的 shell 变量
  • 尝试打开 GUI 而不指定DISPLAY

等等...

有时真的很难理解哪个错误阻止了作业的执行。有没有办法检测 cron 作业中的错误?

答案1

设置本地邮件并获取 cron 任务输出邮件

当 cron 作业成功启动或由于某种原因执行失败时,cron 守护程序会自动向设置该 cron 作业的用户发送一封电子邮件。该邮件包含成功作业的描述或特定 cron 作业失败原因的详细报告。

如果您的本地邮件系统未设置,您将无法收到这些邮件。 cron 作业输出的电子邮件将只会死在本地邮件缓冲文件夹中。因此,您需要设置邮件守护程序来阅读这些邮件。请参阅此答案如何在 Thunderbird 中读取本地电子邮件获取所有本地邮件。

在此处输入图片描述

如果你的 cronjob 失败了,你会收到一封邮件,说明失败的原因。这是检测 cron job 设置错误的最佳方法之一。

其他方式

根据这个答案可以使用重定向将 cronjob 的错误信息保存到日志文件中。但您需要为 cron job 设置重定向,并自行指定日志文件。

还有/var/log/syslog文件始终存在,用于检查你的 cron 作业是否按预期运行。

答案2

这里有一个详尽的答案,解释了如何让 16.04 LTS 系统创建一个单独的 cron.log 文件,以及如何创建wcron实时监视它的命令。

16.04:如何让 cron 创建 cron.log 并实时监控它?

它还包括更改日志级别的信息,以便您不仅可以看到脚本启动(默认),还可以看到结束时间和错误。

它清楚地显示了它们产生的任何错误。

相关内容