Linux Jar包定时重启脚本,按最新时间的Jar包启动
jar包按时间顺序命名如下:
park-system-1.1.0-SNAPSHOT_20210101.jar
park-system-1.1.0-SNAPSHOT_20210402.jar
park-system-1.1.0-SNAPSHOT_20220520.jar
则该脚本默认启动时间最大的一个:park-system-1.1.0-SNAPSHOT_20220520.jar
#!/bin/bash
export LANG=en_US.UTF-8
export JAVA_HOME=/usr/local/soft/jdk1.8.0_161
server_home=/usr/local/soft/project
#停掉park-system服务
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO]------获取park-system进程号" >> start-desp.log
parkingserver_id=$(ps -ef | grep -i park-system | grep -v 'grep' | awk '{print $2}')
# 这里判断park-system进程是否存在
if [ $parkingserver_id ];then
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO]------停止park-system进程" >> start-desp.log
kill -9 $parkingserver_id
k=$?
if [ $k -eq 0 ]; then
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO]------park-system停止成功啦!" >> start-desp.log
dsep_jar=$(ls -lt /usr/local/soft/project/ | grep park-system-1.1.0-SNAPSHOT.jar | head -n 1 |awk '{print $9}')
source /etc/profile;nohup java -Xms1024m -Xmx2048m -XX:MaxMetaspaceSize=1024m -jar $dsep_jar --spring.profiles.active=prod > park-system.log 2>&1 &
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO]------park-system启动成功啦!" >> start-desp.log
else
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO]------park-system停止失败..." >> start-desp.log
fi
else
echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO]------park-system没有运行..." >> start-desp.log
fi
30 23 * * * sh /usr/local/soft/project/park-system/start-ruoyi-auto.sh
30 23 * * * cd /usr/local/soft/project/park-system && ./start-ruoyi-auto.sh#以上cron经过测试可执行,每天23:30执行