Maven和cron的工作

时间:2014-04-29 20:04:44

标签: java maven cron

我在文件夹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机器。

1 个答案:

答案 0 :(得分:-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命令之前,您需要在正确的目录中。