我在文件夹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机器。
答案 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
命令之前,您需要在正确的目录中。