使用Linux定时器crontab实现tomcat服务的可用性检测和重启

33 篇文章 5 订阅

crontab介绍

  • Linux crontab命令,是Linux的任务调度命令,可以让用户使用此命令设置定期执行程序,这个是操作系统安装后会自动启动的。
  • Linux任务调度主要分为系统任务和个人任务,我们主要使用它完成我们自己需要定期执行的某些程序。
  • 语法:crontab [ -u user ] file 或 crontab [ -u user ] { -l | -r | -e }
  • -u user是指定在某用户下执行,不设置就是默认自己
  • -l 是list的意思,列出所有的任务
  • -r 是remove的意思,删除所有任务
  • -e 是edit编辑的意思,可以使用它打开crontab,可以在里面编辑新增,默认是vi。编辑完保存自动生效。
  • 时间格式:f1 f2 f3 f4 f5 program
  • 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。可以参考菜鸟教程

脚本介绍

  • 主要是通过ps -ef|grep命令查看进程是否存在,不存在则启动;如果你的tomcat进程假死,进程还在,则没办法使用此脚本重启;
  • set -m加下,防止使用脚本启动后,后期异常关闭
  • crontab最短一分钟一次,如果接受不了这个频率,可以采用其他方法监控重启服务;
  • crontab -e 进入编辑页面,在里面添加任务即可*/1 * * * * /bin/bash /home/static_protect.sh >> /home/protect_run.log 2>&1
#!/bin/sh
TOMCAT_PATH=/home/tomcat-static  #tomcat位置
TOMCAT_BIN_PATH=$TOMCAT_PATH/bin #启动脚本位置
SERVER_NAME=/home/tomcat-static/bin/tomcat #服务名称,保证唯一

proc_num()
{
        num=`ps -ef | grep $SERVER_NAME | grep -v grep | wc -l`
        return $num
}
proc_num
number=$?
echo $number
if [ $number -eq 0 ]
then
    #开始尝试启动
    ps -ef|grep -v grep|grep $SERVER_NAME | grep java |awk '{print "kill -9 "$2}'|sh
    sleep 1
	
    set -m
    $TOMCAT_BIN_PATH/startup.sh
    sleep 50
fi

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坚持是一种态度

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值