我有一个maven项目,我需要每天执行(使用maven exec插件)以及数据库中的一些简单操作。所以我为这个过程编写了一个脚本并为此编写了一个cron作业。
LAST_PAGE=$(mysql -hlocalhost -uuser -ppassword -DDB -e 'SELECT * FROM SOME_TABLE LIMIT 1\G' | grep 'COLUMN_1')
CURRENT_PAGE=$((30 + $LAST_PAGE))
if [[ $CURRENT_PAGE -ge 270 ]]; then
exit
fi
cd ~/workspace/datasaver/
mvn exec:java -Dexec.mainClass="com.datasaver.app.CollectionApp" -Dexec.cleanupDaemonThreads=false -Dexec.args="$LAST_PAGE" &
mysql -hlocalhost -uuser -ppassword -DDB -e "INSERT INTO SOME_TABLE(COLUMN_1) VALUES($CURRENT_PAGE)"
Maven目标预计需要超过20分钟,因此我添加了&
将其发送到后台。我已编辑crontab
并已添加
0 0 * * * ~/runapp.sh
其中runapp.sh
是我的bash文件。
现在问题是我的maven每次4分钟后被终止(可能被杀)。 Cron日志根本没有显示任何内容。 任何帮助表示赞赏。
我已将所有maven和我自己的应用程序日志重定向到日志文件Application.log
,我可以看到的最后一个日志
00:04:55 [ERROR] [com.service.FollowService] - Error: no specified property identifier - Error Code: 5