Cron作业神秘地停止运行?

问题描述 投票:4回答:3

我在Ubuntu 10.4服务器上有一项cron作业,该作业由于没有明显原因而停止运行。 (这项工作已经进行了几个月,并且没有改变。)我不是* nix专家,所以如果这是一个简单的问题,我会无知。我找不到任何原因或迹象表明这项工作会停止。我已重新启动服务器,但未成功。这是工作:

# m h  dom mon dow   command
0 * * * * java -jar /home/mydir/myjar.jar >>/home/mydir/crontaboutput.txt

输出文件中的最后一行显示该程序在2012年8月29日运行。在那之后没有。

任何想法在哪里看?

linux crontab
3个回答
8
投票

运行作业时,系统日志中应该有内容。您可以尝试>进行的另一件事是在作业中添加2>&1以查看文本文件中的任何错误。 –昨天是Lars Kotthoff

这被证明是关键的信息-添加2>&1使我能够捕获在其他任何地方都未报告的错误。完成的命令行如下所示:

java -jar /home/mydir/myjar.jar  2>&1  >>/home/mydir/crontaboutput.txt

3
投票

也许您的cron守护程序已停止或更改了配置(即/etc/cron.deny)。我建议制作一个shell脚本,然后从crontab运行它。我还建议在其他时间通过您的crontab其他程序运行(仅用于测试)。您可以在Shell脚本中为logger使用syslog命令。查看系统日志文件。


0
投票

接受的答案是正确的,(即检查错误日志)指出了我的情况下的错误。除了检查以下问题

  1. include('../ my_dir / my_file.php)可以从url运行,但是在运行cron作业时将不起作用,会吐出错误。

  2. $ _ SERVER变量在cron操作系统中不起作用,如果您使用的是$ _SERVER ['DOCUMENT_ROOT'],将无法识别它,并且在cron作业中将出现错误。

确保测试cron并使其运行,发送电子邮件等以确保其运行。

© www.soinside.com 2019 - 2024. All rights reserved.