p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545; min-height: 14.0px }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a }
li.li1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }
li.li3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 }
span.s1 { font: 12.0px ".PingFang SC" }
span.s2 { font: 12.0px "Helvetica Neue" }
span.s3 { font: 12.0px ".PingFang SC"; color: #454545 }
span.s4 { color: #454545 }
span.s5 { color: #e4af0a }
span.s6 { font: 12.0px "Helvetica Neue"; color: #e4af0a }
span.Apple-tab-span { white-space: pre }
ul.ul1 { list-style-type: check }

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

  • 第一步编辑:monitor.sh文件(文件内容看下文)
  • 第二步安装crontab (安装步骤看下文)
  • 第三步添加定时任务:crontab -e

*/1 * * * * /usr/java/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.log

Monitor()

{

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. 在 Linux 上实现一段时间后自动登出非活动用户

    参考 编辑 ~/.bashrc 或 ~/.bash_profile 文件: $ vi ~/.bashrc 或, $ vi ~/.bash_profile 将下面行加入其中: TMOUT=100 这会让 ...

  2. linux下监视进程 崩溃挂掉后自动重启的shell脚本

    如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务. 下面的shell通过一个while-d ...

  3. 用monit监控mongodb,崩溃后自动重启mongdb

    什么是monit Monit是一个跨平台的用来监控Unix/linux系统(比如Linux.BSD.OSX.Solaris)的工具.Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不 ...

  4. Eclipse修改java代码后自动重启Tomcat解决办法

    今天甚是郁闷,项目马上要上线了,早上刚到公司打开MyEclipse 10.07提示过期提示,这对于用惯了破解软件的帝国用户的我原本以为小菜一碟. 于是到网上到处找破解软件,不用多长时间,Ok 破解成功 ...

  5. linux如何让一个程序崩溃后自动重启

    思路:  写一个脚本 监控程序的运行状态  没有运行启动运行 已运行不做操作. 如果在控制台启动脚本 注意必须  nohup sh xxx.sh & while true do ps -ef ...

  6. Linux执行脚本让进程挂掉后自动重启

    1 创建循环监听脚本  autostart.sh 例: 其中futures-market-server-v3andwebsoket.jar 是要监听的执行程序 #/bin/bashwhile true ...

  7. java通过ftp和sftp上传war包上传到Linux服务器实现自动重启tomcat的脚本代码

    ar包自动上传Linux并且自动重启tomcat 用的是jdk1.7出的文件监控 支持ftp和sftp,支持多服务器负载等 配置好config 非maven项目导入直接使用 #\u76D1\u542C ...

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

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

  9. 在windows 上自动重启 tomcat 的方法

    在windows 上自动重启 tomcat 的方法 实现思路: Windows 上监控tomcat 进程并且自动重启的脚本 一类是 定时重启 tomcat 一类是 监控并重启 写一个守护tomcat进 ...

随机推荐

  1. 【转】Linux下进程/程序网络带宽占用情况查看工具 -- NetHogs

    http://www.cnblogs.com/carbon3/p/5930803.html 之前VPS侦探曾经介绍过流量带宽相关的工具如:iftop.vnstat,这几个都是统计和监控网卡流量的.但是 ...

  2. php实现数据库数据读取生成缓存文件

    有些时候我们希望减少对数据库的 查询来提高程序的性能,因为这些数据不是经常变更的,而是会在很长一段时间内都不会变化,因此,我们每连接一次数据库,都会把相应的结果用文件的形式保存 起来.比如对于一个商城 ...

  3. VS2008切换设计视图卡死 停止响应

    最近VS2008出现一个问题,打开项目后很快就非常慢,特别是切换设计视图马上卡死,很久也反应不过来.网上找了几种办法,都不好使,有的说是office影响的,有的说要改注册表,都试了一下,还是没用.后来 ...

  4. pointers on c (day 1,chapter2)

    交叉编译器(cross complier)就是在一台机器上运行,但它所产生的可执行代码运行在不同类型的机器上. 翻译阶段由几个步骤组成,组成一个程序的每一(有可能有多个)源文件通过编译过程分别转换成目 ...

  5. 【原】iOS学习之应用程序的启动原理

    最近看视频了解了一下应用程序的启动原理,这里就做一个博客和大家分享一下,相互讨论,如果有什么补充或不同的意见可以提出来! 1.程序入口 众所周知,一个应用程序的入口一般是一个 main 函数,iOS也 ...

  6. 【NOI2016】优秀的拆分 题解(95分)

    题目大意: 求一个字符串中形如AABB的子串个数. 思路: 用哈希做到O(1)判断字符串是否相同,O($n^2$)预处理,ans[i]为开头位置为i的形如AA的子串个数.再用O($n^2$)枚举出AA ...

  7. bzoj4364: [IOI2014]wall砖墙

    线段树打标记的好(luo)题 打打标记,记得下移 = =听说2000000是用来卡线段树的 = =怎么办呢,,, = =打个读入优化看看能不能卡过去吧 #include<cstdio> # ...

  8. centos使用yum安装软件的时候出现了undefined symbol: CRYPTO_set_locking_callback

    1.问题 在CentOS下使用yum安装软件,结果出现了下面的错误提示: # yum installThere was a problem importing one of the Python mo ...

  9. 《将博客搬至CSDN》

    http://www.cnblogs.com/duenyang  两个博客一起用,大家也可以去我CSDN博看查看.

  10. FAT32文件系统