【问题标题】:Crontab + ubuntu + java not workingCrontab + ubuntu + java 不工作
【发布时间】:2013-10-27 06:58:12
【问题描述】:

如果我直接在终端运行波纹管代码,它就可以完美运行。

/usr/bin/java -jar /var/jboss-as-7.1.1.Final/standalone/email_linux/notification_18.jar

但是当我在 ubuntu 服务器中设置与 crontab 相同时,它就不起作用了。

*/3 * * * * /usr/bin/java -jar /var/jboss-as-7.1.1.Final/standalone/email_linux/notification_18.jar

有人知道为什么会出现意外行为吗?

【问题讨论】:

  • 请定义:'不工作'
  • @jzd 从某种意义上说,jar 没有执行。

标签: java ubuntu jar crontab


【解决方案1】:

crontab 任务在与您测试调用的用户不同的用户下执行。 JBoss 依赖于许多环境变量,这些环境变量在该上下文中可能是未定义的。因此,从环境中找出特定 JAR 需要什么,然后将其添加到您从 cron 任务运行的 shell 脚本中(而不是直接从 cron 运行 java)。

【讨论】:

  • 我在 sh 文件 /usr/bin/java -jar /var/jboss-as-7.1.1.Final/standalone/email_linux/notification_18.jar 中创建了以下代码,现在在 crontab 中添加了以下代码 * /3 * * * * sh /var/jboss-as-7.1.1.Final/standalone/email_linux/startup.sh 但是有些它不起作用。如何知道设置路径的环境变量列表
  • 从你的 shell 中定义的变量开始,一切正常,然后寻找任何 JBoss 特定和/或 Java 特定的变量。
【解决方案2】:

如果您正在读取或写入文件,请确保在源代码中包含绝对路径,即使 jar 文件和读取文件位于同一目录中。

【讨论】:

    【解决方案3】:

    指定绝对路径后解决

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 2014-08-08
      相关资源
      最近更新 更多