我在将运行 Java 可执行文件的 Linux 服务器上添加了一个 crontab 条目。 Java 代码使用自己的类将错误和消息记录到日志文件中。
但是当我在预定时间之后检查日志文件时,没有记录任何消息。应该至少有一条日志消息表明执行已开始。
所以有两个可能的原因:
- 代码执行但没有记录;
- 或者,代码根本没有执行。
指定的日志文件具有 chmod 777
权限,所以我猜这是第二个原因。
为什么 crontab 作业不能在预定时间执行?以及如何在不发生任何日志记录的情况下进行调试?
我已经读过,如果出现错误,cron 会向用户发送电子邮件。如何找出与用户关联的电子邮件地址?
原文由 naiquevin 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以为 cron 作业启用日志记录以跟踪问题。您需要编辑
/etc/rsyslog.conf
或/etc/rsyslog.d/50-default.conf
(在 Ubuntu 上)文件,并确保未注释以下行,如果缺少以下行,请添加:然后重启
rsyslog
和cron
:Cron 作业将记录到
/var/log/cron.log
。