如何在ubuntu上使用crontab每5分钟安排一次Java项目类?

时间:2018-08-23 10:16:06

标签: cron

我运行crontab -e并使用以下命令: * / 5 * * * * /home/Test.war。它不起作用。 我想每5分钟执行一次Test Class的getDateTime()。

    public long getDateTime() throws ParseException{
        Calendar calendar = new GregorianCalendar();
        calendar.setTime(new Date());

        DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");

        formatter.setCalendar(calendar);
        formatter.setTimeZone(TimeZone.getTimeZone("Asia/Hong_Kong"));

        String newZealandTime = formatter.format(calendar.getTime());
        Date d = formatter.parse(newZealandTime);
        long time = (d.getTime()/1000) - 240;
        return time;
    }

如何集成Java路径?

1 个答案:

答案 0 :(得分:0)

/home/Test.war不是可执行文件,它打算部署在servlet容器或应用程序服务器中。

一个独立的Java应用程序可以编译到一个文件夹中,或者放在jar文件中,或者放在可执行的jar文件中。这些替代方案中的每一个都有一个不同的命令行来启动,其中涉及java命令。

例如,一个可执行jar将作为java -jar <executable jar file>被调用。

要使用cron运行它,我要做的是编写一个shell script(即my_program.sh),并编写命令行以在文件内部启动Java程序(包括类路径参数等)。
然后授予shell script执行权限。
最后,cron调用了shell脚本。

每5分钟crontab表达式为:* 0/5 * ? * * *
Cron Expression Generator & Explainer - Quartz