crontab中执行java程序的脚本

时间:2023-03-09 05:40:35
crontab中执行java程序的脚本

测试场景说明(操作系统:centos7):

有一个bash脚本,脚本内容是执行某个java程序,该脚本为 /data/project1/start.sh

crontab -e,添加了以下任务:

     *  *  * /data/project1/start.sh

该配置设定了每天1点执行 /data/project1/start.sh,start.sh里最终是类似这样执行java程序:

/usr/java/jdk1.8.0_71/bin/java -classpath "/data/project1/lib/xxx.jar:/data/project1/lib/xxx.jar:.." MainClass

但是一直没有成功执行java程序。

经过大量查阅论坛帖子和反复尝试终于找到了解决方法。需要把crontab配置为如下:

     *  *  * (cd /data/project1; nohup sh ./start.sh &)

注意:start.sh里用到的所有路径,诸如java,jar,目录等,都需要使用绝对路径