如何检测 cron 作业中的错误

sou*_* c. 6 troubleshooting cron

一个cron作业可能失败的原因真的很大。最常见的原因可能是,

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

等等...

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

sou*_* c. 4

设置本地邮件并获取 cron 作业输出邮件

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

如果您的本地邮件系统未设置,您将不会收到这些邮件。cron 作业输出的电子邮件将消失在本地邮件假脱机文件夹中。因此,您需要设置邮件程序守护进程来阅读这些邮件。请参阅如何在雷鸟中读取本地电子邮件以获取所有本地邮件的答案。

在此输入图像描述

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

替代方法

根据这个答案,我们可以使用重定向在日志文件中获取 cronjob 的错误。但是您需要使用 cron 作业设置重定向并自行指定日志文件。

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