Linux Crontab 定时任务守卫Java进程

xiaoxiao2021-02-28  70

1. 编辑用户的定时任务

(1)        crontab -e | 若是指定用户 则是  crontab  -u root -e

编辑内容:

* * * * * sh /cloud/taks/monitor-task-schedule.sh 

上述即是定时任务:    每分钟执行依次task.sh 脚本

备注:脚本路径必需为绝对路径

2. 编写shell 脚本

具体脚本查看 monitor-task-schedule.sh  文件

我们是在指定的每分钟 8s 12s 30s 55s 开始启动定制任务

#!/bin/bash ## 定时任务启动是每分钟 8s 12s 30s 55s ## 在第一次睡眠时间为7s 4s 18s 25s PROCESS=DemoTest for N in 7 4 18 25 ; do sleep $N ps -fe|grep $PROCESS |grep -v grep stat=$? if [ $stat -ne 0 ] then echo "`date -d today +"%Y-%m-%d %T"` 检测到进程$PROCESS已经停止,准备执行" >> /cloud/taks/task.log source /etc/profile; java -cp /cloud/taks/task-demo.jar org.test.DemoTest >> /cloud/taks/task.log 2>&1 & else echo "程序已经运行" fi echo $stat done #### #### 备注说明 #### 1./cloud/taks/task.log 为shell 脚本执行的 日志记录 需要根据项目具体情况调整 #### 2. ps -fe|grep DemoTest |grep -v grep 命令 其中的 DemoTest 为进程执行的执行唯一的名称 默认是main方法的类名 #### 3. /cloud/taks/task.log 执行日志记录 替换

3.测试结果

转载请注明原文地址: https://www.6miu.com/read-2625682.html

最新回复(0)