Tomcat进程运行监视并自动重启的脚本

#!/bin/bash  
#author:yuxiaoguang
#date:2016/5/22
echo "Start"  
URL="http://127.0.0.1:8090"  
curlit()  
{  
    #echo "??"  
curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep ‘200‘  
# 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。  
}  

sleep 10
curlit()  
{  
    #echo "??"  
curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep ‘200‘  
# 上面的15是连接超时时间,若访问localhost的HTTP服务超过15s仍然没有正确响应200头代码,则判断为无法访问。  
}  

doit()  
{        
if ! curlit; then  
# 如果localhost的tomcat服务没有正常返回200头,即出现异常。执行下述命令:  
   # echo "TD"  
#sleep 20  
   #top -n 1 -b >> /var/log/log.log  
  
  
#kill  `ps -ef|grep java|grep -v grep |awk ‘{print $2}‘` > /dev/null 2>&1  
# 这条语句中ps -ef|grep java|grep -v grep为查询进程中java进程同时排除本身语句,用awk找到第二列信息,返回状态扔到黑洞中。  
sleep 2  
cd /soft/tomcat/bin/  
/bin/sh shutdown.sh
sleep 2
/bin/sh startup.sh   
#echo "EN"  
echo $(date) “Tomcat Restart” >> /var/log/log.log  
# 写入日志  
sleep 60  
# 重启完成后等待,然后再次尝试一次  
if  ! curlit; then  
# 如果仍然无法访问,则:  
echo "@"  
echo $(date) “Failed!” >> /var/log/log.log  
# 写入tomcat依然重启失效的日志  
fi  
sleep 180  
fi  
}  
sleep 3  
# 运行脚本后才开始正式工作(防止重启服务器后由于tomcat还没开始启动造成误判)  
  
# 主循环体  
doit 

加入crontab 定时任务
#设置每两分钟检测一次
*/2 0 * * * /home/shell/tomcat-check.sh > /dev/null > 2>&1
时间: 2024-11-10 00:54:02

Tomcat进程运行监视并自动重启的脚本的相关文章

tomcat健康状态监控并自动重启短信报警

#!/bin/sh PATH=/usr/local/jdk1.5.0_19/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin JAVA_HOME=/usr/local/jdk1.5.0_19 CLASSPATH=.:/usr/local/jdk1.5.0_19/lib:/usr/local/jdk1.5.0_19/lib/t

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

如何保证服务一直运行?如何保证即使服务挂掉了也能自动重启?在写服务程序时经常会碰到这样的问题.在Linux系统中,强大的shell就可以很灵活的处理这样的事务. 下面的shell通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,这样就保证了崩溃挂掉的进程重新被及时启动. 必须注意两点: 1.ps |grep 一个进程时必须加上其路劲,否则容易grep到错误的结果: 2.必须用 -v 从结果中去除grep命令自身,否则结果非空. 复制代

Windows开机自动运行软件及自动重启

突发奇想,想测试下软件在开关机时的稳定性,手动的话费时又费力,如何让电脑自动执行呢... 设置起来比较简单,过程记录如下: 1:新建一个bat文件(写字板文件直接改后缀即可) 2:bat文件中添加如下指令: shutdown –r –t 15 注:("-r"表示restart,重启:"-t"表示time,重启操作执行前等待的时间,秒为单位.该命令表示15秒后计算机将重新启动) 3:  windows7中  开始->所有程序->启动,右键点击浏览,将要开机

监控redis进程,如果没有自动重启

#Time:2016-01-22#Version:1.0 #Author:chh-huang #设置环境变量source /etc/profile#source ~/.bash_profile # 日志输出redisMonitorLog=/tmp/redisMonitor.log # redis进程 redis_status=`ps -ef | grep redis|grep "redis-server"|grep -v grep|awk '{print $2}'` #设置时间moni

Shell脚本 - 用来检查memcache并自动重启生效脚本

#!/bin/sh#check memcache process and restart if downmm_bin="/usr/local/bin/memcached"mm_log="/home/xxx/memcached_check.log"mm_ports=("11211" "11212")mm_param=("-d -m 20480 -p 11211 -u www" "-d -m 256

定时检查自动重启容器脚本

vim restart.sh #!/bin/bash # set container ID ID=4402f2ddc9dd # check container running status docker ps -a |grep -i exited 2>&1 >/dev/null # restart container if [ $? -eq 0 ];then docker restart $ID 2>&1 >/dev/null if [ $? -eq 0 ];the

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

本文介绍的这个shell脚本,通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,确保崩溃挂掉的进程,及时自动重启. 脚本内容如下: #!/bin/sh while : do echo "Current DIR is " $PWD stillRunning=$(ps -ef |grep "$PWD/loader" |grep -v "grep") if [ "$stillRun

在windows 上自动重启 tomcat 的方法

实现思路: Windows 上监控tomcat 进程并且自动重启的脚本 一类是 定时重启 tomcat 一类是 监控并重启 写一个守护tomcat进程 的脚本,间隔指定时间去访问 某个URL,对比HTTP 状态码是否为 200,如果不是,则重启tomcat. 实现方法: 下载一个 windows 对应版本的 curl.exe ,将文件放入  C:\Windows\System32 目录下 写一个 bat 脚本 @echo off set num=0 :loop set "httpcode=&qu

Tomcat监控助手-自动重启相关服务

功能说明 该小工具使用swing实现,实现监控某个服务地址,在异常时(连续3次访问不通)自动重启tomcat,并启动配置好的抓取项. 先看下效果图: 代码说明 下面是代码:配置文件TomcatMonitor.properties 1234567891011121314151617181920 #tomcat的启动脚本位置tomcat.home=D:/luckystar88/soft/apache-tomcat-8.5.6/bin/startup.bat#tomcat服务监控地址listen.ur