![我如何发送电子邮件通知 cronjob 已完成?](https://linux22.com/image/517287/%E6%88%91%E5%A6%82%E4%BD%95%E5%8F%91%E9%80%81%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E9%80%9A%E7%9F%A5%20cronjob%20%E5%B7%B2%E5%AE%8C%E6%88%90%EF%BC%9F.png)
我正在检查服务器是否按预期执行 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,您将无法知道脚本是否正确运行(您只能知道它是否已运行,而不知道其中是否有错误)