之前碰到在crontab下无法启动java项目的问题,经综合各个文章资料,总结如下:

1.首先在项目jar文件同级目录创建shell脚本文件:start_jar.sh

#!/bin/bash
JAVA_HOME=/usr/local/jdk/jdk1.8.0_321
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME 
export PATH
# 3. 设置Chrome和ChromeDriver路径
export CHROME_BIN=/opt/google/chrome/google-chrome  # 确认实际路径
# 进入jar包目录
cd /opt/selenium  # 替换为实际jar文件路径

# 启动项目并重定向日志(可选)
nohup java -jar sel-0.0.1-SNAPSHOT.jar >> nohup.out 2>&1  &

PS:由于crontab不识别系统环境变量,所以需要重新配置一下环境变量,并cd到项目目录下运行jar,同时要将日志名称和地址备注一下

2.配置crontab定时器,命令crontab -e (可用crontab -l查看定时器列表)

#重启服务
00 05 * * * /sbin/reboot
#清空日志
05 05 * * * /usr/bin/truncate -s 0 /opt/sel/nohup.out
#启动sele
06 05 * * * /bin/bash /opt/selstart_jar.sh

PS:由于前面shell中配置了环境变量,直接定时命令运行,如果项目中包含外部插件调用,比如selenium,最好用系统集成或者全局定义环境变量,针对selenium可以用git共用驱动解决

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐