Java程序的Cron工作

我正在使用一个java程序,它在完成一些文件传输后发送电子邮件。我正在使用Eclipse来编写程序代码。 如何设置cron作业以在特定时间执行此java程序。 我在项目中也有各种jar文件。 请建议

r0ast3d有一个快速,明确的答案 – 我确实需要做更多的搜索才能完成每一步,所以我会详细说明他的步骤:

  1. 编写一个shell脚本来调用带有必要参数的java程序。 例:

    !/bin/bash echo "Running script." cd ~/your/classpath/to/java java -classpath .:somejar.jar path/to/your/Program 

    用冒号(:)而不是分号(;)分隔必要的类路径程序的路径应该从你的包开始(在java程序的顶部找到它)

  2. 确保classpath参数指向您需要的jar。 您可以在java程序中检查import语句,以确保指定所有必需的类路径。 您必须从java目录运行此脚本,并且可以使用单个句点(。)作为第一个类路径参数。

  3. 确保shell脚本具有必要的unix权限。

    从终端运行: sudo chmod ### yourScript.sh

    其中###是表示系统设置的正确权限的数字。

  4. 通过设置cron作业来调度要调用的脚本。

    从终端运行: crontab -e

    这将打开您的crontab编辑器。 您可以通过以下方式添加作业:

    */5 * * * * bash /home/scripts/yourScript.sh

    使用脚本的正确位置替换脚本的路径。 此作业设置为每5分钟运行一次。 有关crontab的详细参考,请参阅http://www.adminschoice.com/crontab-quick-reference/ 。

希望这可以帮助别人!

  • 编写一个shell脚本来调用带有必要参数的java程序。
  • 确保classpath参数指向您需要的jar。
  • 确保shell脚本具有必要的unix权限。
  • 通过设置cron作业来调度要调用的脚本。

有关cronjob的更多信息,请访问http://en.wikipedia.org/wiki/Cron

只是我的2美分……

使用石英来满足更复杂的需求或使用Timer来完成更简单的任务

有cron4j库http://www.sauronsoftware.it/projects/cron4j/ 。 我以前用它来安排一个java程序每周运行一次。 调度语法与crontab相同。 问题是,它需要不断运行作为后台进程才能工作。 我最后只使用普通的cron,但如果你不是类Unix系统,而且你没有cron,它可能会很有用。