使用crontab运行简单的Java类文件

时间:2015-06-03 21:37:59

标签: java ubuntu cron crontab

我试图用crontab运行一个简单的java helloworld程序。 我做了以下java代码: helloworld.java:

class HelloWorld { 
     public static void main (String args[]) {
         System.out.println("Hello world");
   }
}

然后我尝试按照以下顺序从crontab运行它:

  1. crontab -e
  2. 最后,我插入此行0,7,10,15,30,46,50,55,59 * * * * root /usr/bin/java /home/shivajividhale/cloudOccular/HelloWorld >/dev/null 2>&1
  3. 但是,我无法在syslog中看到helloworld putput。一切都正确吗?如何检查类文件是否正在执行。我尝试将输出打印到文本文件中,并且还有时间。但是文件上没有做任何事情。

    正常运行文件java HelloWorld会产生正确的输出。我还确保crontab以新行结束。

    我只想开始使用crontab运行的类文件。其他帖子讨论了运行bash脚本的crontab,我只想运行这个简单的程序。我只想打印出Hello World以及确保以定义的时间间隔执行程序的时间。有什么帮助吗?

1 个答案:

答案 0 :(得分:3)

尝试使用“java”执行类时,不应提供完整路径。 “java”命令希望只接收类名作为参数。

这就是为什么它正常工作:

  

java HelloWorld

但这不是:

  

/ usr / bin / java / home / shivajividhale / cloudOccular / HelloWorld

要使后者工作,您需要提供类名,另外还需要提供“类路径”,以便Java知道在哪里找到该类。您可以使用“-cp”选项提供类路径。

试试这个:

  

/ usr / bin / java -cp / home / shivajividhale / cloudOccular / HelloWorld