【问题标题】:Java file does not run using crontabJava 文件不使用 crontab 运行
【发布时间】:2017-04-24 06:34:04
【问题描述】:

命令“java temp”打印Hello World。但是当我尝试使用 crontab 运行此命令时,它不起作用。

我在 crontab 中使用这个命令

*/2 * * * * /usr/bin/java -cp /home/parth/javafile/temp

我也试过这个命令

*/2 * * * * root (cd /home/parth/javafile/temp.class ; java temp)

*/2 * * * * root /usr/bin/java -cp /home/parth/javafile/temp

但是这些命令也不起作用。

我还尝试创建脚本文件 .sh 并将 java 命令放入脚本中,然后使用 crontab 运行该脚本。但是那个也行不通。

我认为我在命令方面做错了,但我没有得到它的确切含义。

【问题讨论】:

  • 您希望它在 cron 运行时在哪里显示“Hello World”?

标签: java linux cron crontab


【解决方案1】:

问题是,您的用户的 shell 没有运行该命令。运行 CRON 作业的用户正在运行该命令。在这种情况下,您将永远不会看到打印到终端的输出。一种选择是将输出重定向到文件,例如:

*/2 * * * * /usr/bin/java -cp /home/parth/javafile/ temp >> /path/to/log/file 2>&1

2>&1 末尾的位将标准错误重定向到与标准输出相同的位置。这样,错误也会打印到日志文件中。

2 是标准错误的文件描述符

> 用于重定向输出

&是文件描述符的符号

1 是标准输出的文件描述符

【讨论】:

    猜你喜欢
    • 2015-08-18
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 2013-01-25
    • 2016-10-06
    • 2018-07-14
    • 2011-10-17
    相关资源
    最近更新 更多