我如何发送电子邮件通知 cronjob 已完成?

我如何发送电子邮件通知 cronjob 已完成?

我正在检查服务器是否按预期执行 cronjob。

我有以下代码。但我不确定它是否在重复工作。我怀疑不是。

cron.php 运行正常。如果我使用浏览器访问,它会显示结果。

有人能告诉我怎样才能知道它是否在发挥作用吗?

我认为向我发送电子邮件通知是一个想法。

我怎样才能将结果通过电子邮件发送给我?

或者有更好的方法来检查吗?

*/10 * * * * /usr/bin/wget http://myschool.moodle.org/admin/cron.php

答案1

cron手册页中:

执行命令时,任何输出都会邮寄给 crontab 的所有者(或者 crontab 中 MAILTO 环境变量中指定的用户,如果存在)。

只需将以下行添加到您的 crontab 的开头即可:

MAILTO=username

答案2

您可以在系统日志中检查 cron 作业是否正在运行,查看 /var/log 中的文件,根据您的发行版,文件可能会发生变化,但通常 /var/log/cron 是检查的正确位置。

如果您想了解有关工作完成情况的更多信息,最好的方法是在 php 脚本中发送电子邮件,这样您就可以正确地设置电子邮件正文,其中包含失败或正常结果以及有用的信息。
您也可以直接从 cron 发送电子邮件,但由于您使用 wget,您将无法知道脚本是否正确运行(您只能知道它是否已运行,而不知道其中是否有错误)

相关内容