Cron的工作神秘地停止了运行?

时间:2012-11-08 22:04:04

标签: linux crontab

我在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日运行。之后什么都没有。

任何想法在哪里看?

3 个答案:

答案 0 :(得分:6)

  

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

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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

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

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

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