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

时间:2022-11-02 00:20:34

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. WinObjC?这是什么鬼?

    https://github.com/Microsoft/WinObjC 微软啊?!你搞个编译器也就算了?!还把iOS SDK的类库都重写了?这也太不把Apple放眼里了?你就这样拽一大帮iOS的开发 ...

  2. cf118A(水题)

    题意就是讲给出的字符串元音字母去掉,在每个辅音字母前加点,且小写输出...注意y也要去掉(以我英语挂科的水平也知道y是辅音字母)... 水题.. 直接上代码好了... #include <ios ...

  3. &lbrack;转&rsqb;VC的DDK编译环境构建

    [转]VC的DDK编译环境构建 http://blog.csdn.net/skdev/article/details/1336935   1 环境状况 Windows XP SP1 NTDDK(win ...

  4. SqlServer 如何以脚本形式导出数据

    你是否遇到这样的情况,在公司导出一个数据库,回到家里导入自己的电脑里,然后发现数据库版本不匹配,这真是一个悲剧. 那么以下这个方法就可以避免这个悲剧,将数据以脚本的形式导出,这样灵活性更好. 1.选择 ...

  5. ubuntu下安装myeclipse

    一.下载myeclipse 官网下载:http://www.myeclipseide.com/ 我使用的是myeclipse pro 2014.run,重命名为myeclipse.run 示例路径:/ ...

  6. 第四章:shiro的INI配置

    4.1 根对象SecurityManager 从之前的Shiro架构图可以看出,Shiro是从根对象SecurityManager进行身份验证和授权的:也就是所有操作都是自它开始的,这个对象是线程安全 ...

  7. Spring Ioc工作机制 初步

    Spring IoC工作原理 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖 ...

  8. html5 ajax 文件上传

    http://html5demos.com/dnd-upload 看这个例子看了一会儿...这个是支持拖拽的上传. 下面代码是一个简单的ajax的文件上传: function match(url,rs ...

  9. 【第三十六章】 metrics(4)- metrics-graphite

    将metrics report给graphite(carbon-relay) 一.代码 1.pom.xml <!-- metrics-graphite --> <dependency ...

  10. 【mysql】Windows环境搭建(适用5&period;7以上)

    1 下载MySQL 登录 https://dev.mysql.com/downloads/mysql/ 2 配置 下载好了zip文件,解压至任意非中文目录,在根目录下新建my.ini: 输入以下内容( ...