我在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日运行。在那之后没有。
任何想法在哪里看?
运行作业时,系统日志中应该有内容。您可以尝试>进行的另一件事是在作业中添加2>&1以查看文本文件中的任何错误。 –昨天是Lars Kotthoff
这被证明是关键的信息-添加2>&1使我能够捕获在其他任何地方都未报告的错误。完成的命令行如下所示:
java -jar /home/mydir/myjar.jar 2>&1 >>/home/mydir/crontaboutput.txt
也许您的cron
守护程序已停止或更改了配置(即/etc/cron.deny
)。我建议制作一个shell脚本,然后从crontab
运行它。我还建议在其他时间通过您的crontab
其他程序运行(仅用于测试)。您可以在Shell脚本中为logger
使用syslog
命令。查看系统日志文件。
接受的答案是正确的,(即检查错误日志)指出了我的情况下的错误。除了检查以下问题
include('../ my_dir / my_file.php)可以从url运行,但是在运行cron作业时将不起作用,会吐出错误。
$ _ SERVER变量在cron操作系统中不起作用,如果您使用的是$ _SERVER ['DOCUMENT_ROOT'],将无法识别它,并且在cron作业中将出现错误。
确保测试cron并使其运行,发送电子邮件等以确保其运行。