监控Tomcat日志,如果OutOfMemory,重启Tomcat
来源:互联网 发布:linux 源码安装 编辑:程序博客网 时间:2024/06/06 02:42
#!/bin/bash
##########################################################################################
# Function: When monitoring Tomcat occur "OutOfMemory" , automatic restart Tomcat and APED
# Warring:
# This script only apply to server only one JAVA process
# Date: 2015-02-17 (Chinese New Year's Eve)
##########################################################################################
export JAVA_HOME=/home/app01/tools/jdk1.6.0_14
v_pid=`/sbin/pidof java`
v_ape=`/sbin/pidof aped`
v_pid0=`/sbin/pidof java|wc -l`
v_ape0=`/sbin/pidof aped|wc -l`
V_ERROR_LOG=/home/app01/tomcat/logs/catalina.out
V_MODIFY_LOG=`/bin/find /home/app01/tomcat/logs/ -type f -cmin -2 -name "*.out"|wc -l`
V_ERROR_COUNT=`/usr/bin/tail -n30 $V_ERROR_LOG|egrep -i 'OutOfMemory'|wc -l`
V_LOG=/home/app01/tomcat/logs/error_`date +%Y%m%d`.log
# ###############################################################
# When tomcat break down, appear error "OutOfMemory"
# First: kill -9 APED and Tomcat Process
# Second: Restart APED and Tomcat Process
##################################################################
echo $V_MODIFY_LOG >$V_LOG
echo $V_ERROR_COUNT>>$V_LOG
if [ $V_MODIFY_LOG -gt 0 ] && [ $V_ERROR_COUNT -gt 0 ];then
>$V_LOG
echo -e '+++++++++++++++Tomcat is OutOfMemory, will kill it and restart+++++++++++\n'
/bin/kill -9 $v_pid
/usr/bin/sudo /bin/kill -9 $v_ape
sleep 10
v_ape1=`/sbin/pidof aped|wc -l`
v_pid1=`/sbin/pidof java|wc -l`
if [ $v_ape1 -eq 0 ];then
echo -e 'Warring:---------------------- APED IS DOWN-------------------\n'
cd /home/app01/ape-server/bin
/usr/bin/sudo /home/app01/ape-server/bin/aped
else
echo -e '++++++++++++++++APED is Running+++++++++++++++++++++++++++ \n'
fi
if [ $v_pid1 -eq 0 ];then
echo -e 'Warring:---------------------- Tomcat is down-------------------\n'
/home/app01/tomcat/bin/startup.sh
sleep 10
tail -n100 $V_ERROR_LOG>>$V_LOG
# /bin/mail -s "$SUBJECT" "$EMAIL"<$V_LOG
else
echo -e '+++++++++++++++++++++++Tomcat is Running.+++++++++++++++++++++++++++ \n'
fi
fi
# Normal start aped
if [ $v_ape0 -eq 0 ];then
echo -e 'Warring:---------------------- APED IS DOWN-------------------\n'
cd /home/app01/ape-server/bin
/usr/bin/sudo /home/app01/ape-server/bin/aped
else
echo -e '++++++++++++++++APED is Running+++++++++++++++++++++++++++ \n'
fi
# Normal start tomcat
if [ $v_pid0 -eq 0 ]; then
echo -e 'Warring:---------------------- Tomcat is shutdown------------------- \n'
/home/app01/tomcat/bin/startup.sh
else
echo -e '+++++++++++++++++++Tomcat is Running...........+++++++++++++++++++++++++ \n'
fi
##########################################################################################
# Function: When monitoring Tomcat occur "OutOfMemory" , automatic restart Tomcat and APED
# Warring:
# This script only apply to server only one JAVA process
# Date: 2015-02-17 (Chinese New Year's Eve)
##########################################################################################
export JAVA_HOME=/home/app01/tools/jdk1.6.0_14
v_pid=`/sbin/pidof java`
v_ape=`/sbin/pidof aped`
v_pid0=`/sbin/pidof java|wc -l`
v_ape0=`/sbin/pidof aped|wc -l`
V_ERROR_LOG=/home/app01/tomcat/logs/catalina.out
V_MODIFY_LOG=`/bin/find /home/app01/tomcat/logs/ -type f -cmin -2 -name "*.out"|wc -l`
V_ERROR_COUNT=`/usr/bin/tail -n30 $V_ERROR_LOG|egrep -i 'OutOfMemory'|wc -l`
V_LOG=/home/app01/tomcat/logs/error_`date +%Y%m%d`.log
# ###############################################################
# When tomcat break down, appear error "OutOfMemory"
# First: kill -9 APED and Tomcat Process
# Second: Restart APED and Tomcat Process
##################################################################
echo $V_MODIFY_LOG >$V_LOG
echo $V_ERROR_COUNT>>$V_LOG
if [ $V_MODIFY_LOG -gt 0 ] && [ $V_ERROR_COUNT -gt 0 ];then
>$V_LOG
echo -e '+++++++++++++++Tomcat is OutOfMemory, will kill it and restart+++++++++++\n'
/bin/kill -9 $v_pid
/usr/bin/sudo /bin/kill -9 $v_ape
sleep 10
v_ape1=`/sbin/pidof aped|wc -l`
v_pid1=`/sbin/pidof java|wc -l`
if [ $v_ape1 -eq 0 ];then
echo -e 'Warring:---------------------- APED IS DOWN-------------------\n'
cd /home/app01/ape-server/bin
/usr/bin/sudo /home/app01/ape-server/bin/aped
else
echo -e '++++++++++++++++APED is Running+++++++++++++++++++++++++++ \n'
fi
if [ $v_pid1 -eq 0 ];then
echo -e 'Warring:---------------------- Tomcat is down-------------------\n'
/home/app01/tomcat/bin/startup.sh
sleep 10
tail -n100 $V_ERROR_LOG>>$V_LOG
# /bin/mail -s "$SUBJECT" "$EMAIL"<$V_LOG
else
echo -e '+++++++++++++++++++++++Tomcat is Running.+++++++++++++++++++++++++++ \n'
fi
fi
# Normal start aped
if [ $v_ape0 -eq 0 ];then
echo -e 'Warring:---------------------- APED IS DOWN-------------------\n'
cd /home/app01/ape-server/bin
/usr/bin/sudo /home/app01/ape-server/bin/aped
else
echo -e '++++++++++++++++APED is Running+++++++++++++++++++++++++++ \n'
fi
# Normal start tomcat
if [ $v_pid0 -eq 0 ]; then
echo -e 'Warring:---------------------- Tomcat is shutdown------------------- \n'
/home/app01/tomcat/bin/startup.sh
else
echo -e '+++++++++++++++++++Tomcat is Running...........+++++++++++++++++++++++++ \n'
fi
0 0
- 监控Tomcat日志,如果OutOfMemory,重启Tomcat
- tomcat监控重启脚本
- tomcat outofmemory
- tomcat 重启,tomcat查看日志
- elk监控tomcat日志
- shell自动监控重启Tomcat脚本
- shell自动监控重启Tomcat脚本
- shell自动监控重启Tomcat脚本
- shell自动监控重启Tomcat脚本
- Tomcat监控重启脚本说明
- Linux 监控tomcat,自动重启tomcat服务
- tomcat重启、关闭、查看日志shell
- liunx查看tomcat 版本,重启tomcat 及查看日志
- tomcat OutOfMemory 终极解决办法
- TOMCAT OutOfMemory 正解
- outOfMemory when run tomcat
- Tomcat OutOfMemory 终极解决办法
- Ubuntu 实时监控tomcat日志
- 水晶苍蝇拍:低估和高估
- JDK源码之Map
- iOS中堆和栈的区别
- ANDROID L——Material Design详解(动画篇)
- fastJosn序列化和反序列化学习
- 监控Tomcat日志,如果OutOfMemory,重启Tomcat
- python中的select相关介绍
- What is Linux System Calls and Library Functions?
- Virtualbox虚拟机无法识别usb
- ANDROID L——Material Design综合应用(Demo)
- linux usb驱动整理(将部分源码编译成静态库)
- struts2的result配置
- Linux strace命令
- sql表连接总结