Springboot项目配置定时重启案例

小鱼儿 2023-06-28 08:54 168阅读 0赞

一、如果是Linux环境

1)、编写重启脚本timeRestart.sh,内容如下:

  1. #! /bin/bash
  2. export LANG="en_US.UTF-8"
  3. export JAVA_HOME=/usr/local/java/jdk1.8.0_131
  4. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  5. export PATH=$JAVA_HOME/bin:$PATH
  6. JOB_JAR=/home/runtime/job
  7. echo "【`date +%Y-%m-%d_%H:%M:S`】开始关闭hospital_job-1.0.0.jar"
  8. pid=`ps -ef | grep hospital_job-1.0.0.jar |grep -v grep | awk '{print $2}'`
  9. out=`kill -9 ${pid}`
  10. echo "【`date +%Y-%m-%d_%H:%M:S`】关闭hospital_job-1.0.0.jar成功"
  11. echo "【`date +%Y-%m-%d_%H:%M:S`】开始启动hospital_job-1.0.0.jar"
  12. nohup java -jar $JOB_JAR/hospital_job-1.0.0.jar &
  13. echo "【`date +%Y-%m-%d_%H:%M:S`】启动hospital_job-1.0.0.jar成功"

2)、配置系统定时任务:

首先:crontab -e 添加如下内容

20200108142821175.png

时间规则说明:

  1. crontab [选项] 定时任务设置
  2. 1crontab -e 编辑crontab定时任务
  3. 2crontab -l 查询crontab任务
  4. 3crontab -r 删除当前用户所有的crontab任务
  5. 4、*/1 * * * * ls -l /etc > /tmp/to.txt
  6. 第一*:一个小时当中的第几分钟 0-59
  7. 第二*:一天当中的第几小时 0-23
  8. 第三*:一个月中的第几天 1-31
  9. 第四*:一年中的第几个月 1-12
  10. 第五*:一周当中的星期几 0-707都代表星期天)
  11. *代表任何时间。
  12. ,代表不连续的时间 0 8,12,16 * * *,代表每天80分,120分,160
  13. -代表连续的时间范围。0 5 * * 1-6 ,代表周一到周六的凌晨50分执行命令
  14. */n代表每隔多久执行一次。*/10 * * * * ,代表每隔10分钟就执行一次命令

然后重启任务调度

20200108143220302.png

  1. service crond restart

3)、检查是否配置成功:

一分钟后(按实际配置时间为准)检查进程pid是否变化,发生变化则表示重启成功

20200108143429283.png

二、如果是Win环境

1)、安装AlwaysUp

20200108143621909.png

20200108143715721.png

2)、编写springboot项目启动脚本job.bat

  1. java -jar hospital_job-1.0.0.jar

导入启动脚本到AlwaysUp,设置宕机立即重启

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3htMzkzMzkyNjI1_size_16_color_FFFFFF_t_70

3)、编写killjob.bat用于定时杀死job项目,当job项目被杀死后启动脚本会立即重启

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1-5" %%a in ('netstat -ano ^| find ":9005"') do (
  4. if "%%e%" == "" (
  5. set pid=%%d
  6. ) else (
  7. set pid=%%e
  8. )
  9. echo !pid!
  10. taskkill /f /pid !pid!
  11. )
  12. exit

4)、配置定时杀死项目,即配置项目重启时间

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3htMzkzMzkyNjI1_size_16_color_FFFFFF_t_70 1

5)、验证是否成功

2020010814443065.png

重启前pid为7496:

2020010814435426.png

重启后pid为6896:

20200108144412117.png

发表评论

表情:
评论列表 (有 0 条评论,168人围观)

还没有评论,来说两句吧...

相关阅读

    相关 domino定时

        Domino定时重启,可以有多种方法,网上找到一点都是重启windows的服务,下面我介绍两种方法 1)Domino的定时任务(这个方法在我们的DOMINO不生效,不