Linux上监控tomcat down掉后自动重启tomcat

解决思路

Linux上监控tomcat down掉后自动重启tomcat

  • 第一步编辑:monitor.sh文件(文件内容看下文)
  • 第二步安装crontab (安装步骤看下文)
  • 第三步添加定时任务:crontab -e
  • 第四部添加crontab内容 */1 * * * * /usr/java/monitor.sh
  • 第五步重新加载crontab  `crontab /etc/crontab`
  • 第六步手动挂断tomcat,检查是否能自动重启

设置monitor.sh内容

monitor.sh文件内容(配置完手动执行下:./monitor.sh 看看是否能启动挂掉的tomcat)

=========monitor.sh开始===============

#!/bin/sh#定义环境变量(要改成自己的jdk相关地址)
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.7.0_79/bin
export JAVA_HOME=/usr/java/jdk1.7.0_79
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin# 获取tomcat进程ID(这里注意tomcat7要改成自己的tomcat目录名)
TomcatID=$(ps -ef |grep tomcat |grep -w 'tomcat7'|grep -v 'grep'|awk '{print $2}') # tomcat启动程序(这里注意要改成自己tomcat实际安装的路径)
StartTomcat=/usr/java/tomcat7/bin/startup.sh
TomcatCache=/usr/java/tomcat/work # 自己定义要监控的页面地址,页面越简单越好,比如:页面上写个success即可
WebUrl=http://ip:端口/test.jsp
# 日志输出 (自己定义地址,用于输出监控日志和监控报错日志)
TomcatMonitorLog=/usr/java/monitor/TomcatMonitor.log
GetPageInfo=/usr/java/monitor/PageInfo.logMonitor()
{  echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"  if [[ $TomcatID ]];then # 这里判断TOMCAT进程是否存在  echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."  # 检测是否启动成功(成功的话页面会返回状态"200")  TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})  if [ $TomcatServiceCode -eq 200 ];then  echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"  else  echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"  echo "[error]页面访问出错,开始重启tomcat"  kill -9 $TomcatID  # 杀掉原tomcat进程  #sleep 3  #rm -rf $TomcatCache # 清理tomcat缓存  #$StartTomcat  fi  else  echo "[error]tomcat进程不存在!tomcat开始自动重启..."  echo "[info]$StartTomcat,请稍候......"  #rm -rf $TomcatCache  $StartTomcat  fi  echo "------------------------------"
}
Monitor>>$TomcatMonitorLog

========monitor.sh结束=================

安装crontab

安装:yum install -y vixie-cron

若安装失败时:ngnix的某个资源报404可以如下操作:

cd /etc/yum.repos.d

vi ngnix.repo

把 http://nginx.org/packages/OS/OSRELEASE/$basearch/

改成http://nginx.org/packages/centos/6/$basearch/

这个地址是我在http://nginx.org/packages/下翻找出来的,当然最好你能看下是否和你的linux系统匹配

查看crontab是否安装成功

查看crontab任务列表:crontab -l

查看crontab状态:service crond status

启动crontab:service cron start

查看crontab是否自动启动

chkconfig | grep crond

crond           0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭

查看2,3,4,5是否启动

其他常用命令

看是否设置开机自动启动:chkconfig —list crond

在CentOS系统中加入开机自动启动:chkconfig --level 35 crond on

Linux上监控tomcat down掉后自动重启tomcat相关推荐

  1. MYSQL死掉后自动重启脚本

    最近服务器的MYSQL老是挂掉,而且经常是在半夜里挂掉! 真想骂娘! 兴许是由于配置文件设置的不够好,已经在调优.但调优期间也要做到无人值守自动化啊,所以有了下面这个脚本-- #!/bin/bash ...

  2. linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

  3. Linux kernel Panic后自动重启机器的设置

    Linux kernel Panic后自动重启机器的设置 方法1:内核配置命令行加入这句,崩溃后3秒重启: panic=3 make menuconfig 设置kernel系统参数: 方法2: vi ...

  4. 监控windows某个服务当服务停止后自动重启服务

    近期花时间研究了一下windows和linux下某服务停了后自动重启的功能,在网上收集了些资料,并经过测试,在此整理一下.这里介绍的是windows服务的监控,是通过批处理来实现的.本例是监控wind ...

  5. 在linux上一行代码不用写实现自动采集+hadoop分词

    在linux上一行代码不用写实现自动采集+hadoop分词 将下面的shell脚本保存成到xxx.sh,然后执行即可 cd /opt/hadoop mkdir spider wget -O spide ...

  6. linux进程监控自动重启,Linux监控进程,进程关闭自动重启方案

    Linux监控进程,进程关闭自动重启方案 corntab+shell脚本检测进程 这个方案简单不用额外安装软件. 缺点是存在间隔,corntab设置1秒执行一次shell脚本也是存在间隔的 #!/bi ...

  7. 监控windows服务,当服务停止后自动重启服务

    最近公司要实现java服务崩了,要自动重启服务.本例是监控windows的MySQL56为例,每秒60秒检测一次,当发现服务停止后自动重启. AutostartService.bat批处理文件内容如下 ...

  8. 关机状态下启动微型计算机叫什么,教你电脑关机后自动重启是什么原因

    很多朋友都想要知道电脑关机后自动重启有什么原因,其实电脑关机后自动重启是非常简单,如果大家想要了解的话,小编当然会告诉大家电脑关机后自动重启的原因!下面就给大家带来电脑关机后自动重启原因的介绍吧. 小 ...

  9. 惠普服务器关机自动重启,惠普电脑关机后自动重启的具体解决办法游戏设备故障解决分享!...

    今天小编要为大家解决的难题是惠普电脑关机后自动重启的问题,相信不少网友都是使用惠普电脑的,有兴趣的朋友不妨来参考一下,涨涨姿势. 惠普电脑关机后自动重启的解决方法一: 1.首先检查是不是硬件问题造成的 ...

最新文章

  1. ListView中加入Button后,Button的点击事件和ListView的点击事件冲突
  2. JAVA基础——时间Date类型转换
  3. LeetCode 148. 排序链表(归并排序、快速排序)
  4. 关于iOS7里的JavaScriptCore framework
  5. gsonformat插件_吐血推荐珍藏的IDEA插件
  6. 最近,4000余名工程师,集体重学数学!竟都只用这一招,快来!
  7. Nachos 用户进程地址分配
  8. mysql自动备份快结束很卡_mysql备份慢以及自动重启问题——调整NUMA
  9. Spring 分组验证
  10. python爬虫一:必应图片(从网页源代码中找出图片链接然后下载)
  11. 【大疆无人机OnboardSDK(三)妙算ssh远程控制台系统搭建】
  12. 静态电影网站模板A(html+css+js)
  13. 基于MFC的Media Player播放器的制作(4---功能实现代码)
  14. VSCode:一个温馨不扎眼的暗色主题推荐
  15. MySQL 算数表达式
  16. 中控 mysql_中控数据库教程
  17. flutter项目报错解决方案
  18. 2022年R1快开门式压力容器操作理论题库及答案
  19. 三阶魔方还原的13种程序实现
  20. 身家破亿!86版西游记“红孩儿”拒绝出道成学霸,已是中科院博士,名下52家公司...

热门文章

  1. Java23种设计模式之工厂模式
  2. Spring Cloud微服务之业务物理删除(十)
  3. GIT学习笔记1--基本使用
  4. 虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释
  5. Web流程图绘制使用raphael
  6. Linux Shell高级技巧(三)
  7. 从wordpress到octopress
  8. linux上ln命令详细说明
  9. centos7/rhel7重置root密码 (rd.break和init方法)
  10. SpringBoot——项目启动时读取配置及初始化资源