【问题标题】:crontab not running javacrontab 没有运行 java
【发布时间】:2016-10-06 17:03:41
【问题描述】:

我有一个可以通过命令行完美运行的 .jar。

我需要它每 5 分钟连续运行一次,所以我做了 crontab -e 我添加了这一行

*/5 * * * * java -jar /var/www/java/executable.jar

如果我去

grep CRON /var/log/syslog

我确实看到了作业在哪里执行,但它从来没有,因为我在 java 文件中有一个记录器,它做的第一件事就是将时间附加到记录器,但没有这样做。

可能的错误是什么?

【问题讨论】:

    标签: java crontab executable-jar ubuntu-server


    【解决方案1】:

    最常见的错误是环境变量未绑定和

    1. java 不在路径中
    2. JAVA_HOME 未设置。

    试试

    */5 * * * * java -jar /var/www/java/executable.jar > /var/log/javacron.log 2> /var/log/javacron-err.log
    

    并检查/var/log/javacron.log-文件以获取更多信息。

    【讨论】:

    • 是的,即使使用命令行运行。 cron 可能使用不同的用户或不同的 shell。如果它运行不同的用户,则可能不允许 java-exec 工作。如果它运行不同的 shell,您可能在 cron 执行中没有环境变量可见性。
    • 文件生成为空白
    • 好吧,这很有趣!我在答案中添加了2> 输出,请参阅编辑。 2> 表示错误输出。通常一个程序可以写入两个单独的输出,一个用于正常消息 (>),另一个用于致命错误消息 (2>)。请重试。
    • @pato.llaguno 我注意到你问过stackoverflow.com/questions/26225771,你对这个问题有任何结果吗?
    • 这是我见过的最好的解决方案。按照这个答案。 stackoverflow.com/a/51137630/5093657
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-03
    • 1970-01-01
    • 2013-12-20
    • 2020-06-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多