我在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日运行。之后什么都没有。
任何想法在哪里看?
答案 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)
接受的答案是正确的,(即检查错误日志)指出了我的情况下的错误。除了检查以下问题之外
include('../ my_dir / my_file.php)可以从url运行,但是在运行cron作业时将不起作用,会吐出错误。
$ _ SERVER变量在cron os中不起作用,如果您使用的是$ _SERVER ['DOCUMENT_ROOT'],它将无法被识别,并且在cron作业中将出错。
确保测试cron并使其运行,发送电子邮件等以确保其运行。