【问题标题】:Maven and cron jobMaven 和 cron 作业
【发布时间】:2017-05-22 10:01:14
【问题描述】:

我在文件夹 folder1/scripts/appname 中有一个 java 代码。我需要进入文件夹“appname”并执行

    mvn clean test -Dhr=1 -Dmin=0

它将执行并给我输出。现在我希望这项工作每 1 小时运行一次。所以我做了一个cronjob

     40 * * * * /folder1/scripts/appname/appname.sh

脚本 appname.sh 有

    #!/bin/bash

    mvn clean test -Dhr=1 -Dmin=0

而且它不起作用。我怎样才能让它运行?

这是一个 ubuntu 机器。

【问题讨论】:

    标签: java maven cron


    【解决方案1】:

    像这样更改脚本:

    #!/bin/bash
    cd $(dirname "$0")
    mvn clean test -Dhr=1 -Dmin=0
    

    我在那里插入了一个命令来更改脚本所在的目录。如果您的 Maven 项目和您的脚本位于目录 /folder1/scripts/appname/ 中,那么这应该可以工作。

    没有这个,cron 从用户的主目录执行/folder1/scripts/appname/appname.sh。由于项目不存在,mvn clean test 失败。

    除了更改脚本之外,另一种选择是更改 cron 作业:

    40 * * * * cd /folder1/scripts/appname && ./appname.sh
    

    关键是,不管怎样,在运行mvn 命令之前,您需要位于正确的目录中。

    【讨论】:

      猜你喜欢
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 2023-03-22
      • 2013-04-05
      相关资源
      最近更新 更多