Linux Crontab 定时任务守卫Java进程

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.测试结果





  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值