【问题标题】:Crontab : Running a jar filecrontab : 运行一个 jar 文件
【发布时间】:2011-10-17 17:55:50
【问题描述】:

我有一个生成报告的 jar 文件,我想安排在每个星期日运行它,

为此,我在 linux 上使用了 crontab 功能,

我已经使用

创建了 crontab 条目
     crontab -e
     45 15 * * 1 /usr/java/default/bin/java -jar /home/name/example/withouttimer.jar

但作业没有按应有的方式运行,请您帮我找出问题所在,

有没有办法检查 crontab 日志?,谢谢

【问题讨论】:

  • 你的java程序需要X吗?
  • 在您的 crontab 顶部添加一个 MAILTO=«you»,这样您就会收到一封带有错误消息的邮件。
  • 检查 cron 日志在 man cron 中的位置。通过附加 2>&1 > /home/name/cron.out 在 crontab 中重定向命令的输出。

标签: unix jar cron scheduled-tasks crontab


【解决方案1】:

运行 cron 作业时使用的配置文件可能没有设置某些变量(JAVA_HOME?CLASSPATH?)

执行 printenv > myfile.txt 的 crontab 并检查定义的内容。


作为最后的测试,创建一个 .sh 文件并运行它

echo 'hello'
printenv
echo 'goodbye'

看看将脚本的执行重定向到日志是否显示了什么。

【讨论】:

  • 即使带有 printenv > myfile.txt 的 crontab 也不起作用,现在我想知道 crontab 本身是否有任何问题.. java 设置在 env 变量中,我确实检查了它跨度>
【解决方案2】:

该作业在每个星期一的下午 3:45 运行(0 表示星期日)您确定您检查的时间正确吗?

尝试以更短的时间间隔运行一个虚拟程序以检查其是否正常工作。

【讨论】:

    【解决方案3】:

    终于找到解决办法了,

    我做错了几件事,

    1. 服务器的时区不同,所以我必须相应地设置它。

    2. jar 无法找到输入文件(位置错误),必须修复它。

    现在可以使用 gr8,感谢有关添加 MAILTO= 的建议,有助于调试。

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 2012-05-14
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 2015-10-30
      • 2016-11-01
      • 1970-01-01
      相关资源
      最近更新 更多