调试 crontab 作业

新手上路,请多包涵

我在将运行 Java 可执行文件的 Linux 服务器上添加了一个 crontab 条目。 Java 代码使用自己的类将错误和消息记录到日志文件中。

但是当我在预定时间之后检查日志文件时,没有记录任何消息。应该至少有一条日志消息表明执行已开始。

所以有两个可能的原因:

  1. 代码执行但没有记录;
  2. 或者,代码根本没有执行。

指定的日志文件具有 chmod 777 权限,所以我猜这是第二个原因。

为什么 crontab 作业不能在预定时间执行?以及如何在不发生任何日志记录的情况下进行调试?

我已经读过,如果出现错误,cron 会向用户发送电子邮件。如何找出与用户关联的电子邮件地址?

原文由 naiquevin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 361
1 个回答

您可以为 cron 作业启用日志记录以跟踪问题。您需要编辑 /etc/rsyslog.conf/etc/rsyslog.d/50-default.conf (在 Ubuntu 上)文件,并确保未注释以下行,如果缺少以下行,请添加:

 cron.*                         /var/log/cron.log

然后重启 rsyslogcron

 sudo service rsyslog restart
sudo service cron restart

Cron 作业将记录到 /var/log/cron.log

原文由 Mehdi Yedes 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题