May
25
今天上午9:30点。客服反馈DNS服务器WEB平台无法正常使用了。
上去查看了一下。又是500错误。
从提示信息来看,是tomcat在调用数据库时出现问题导致。
分析估计是,程序在写的时候不严谨造成调用数据库一时多过所致。
这种情况出现过多次了。做为非程序员的我,虽知道问题大概在哪,却一时无法解决。为了更明确的跟踪到问题点及实现服务的自我修复。特别完成以下脚本。
目标:
1.出现500错误时,能自动识别,并自动修复(即自重启WEB服务)
2.记录故障时间。查看是否有规律。以便定位故障。
3.自查周期。每分钟检查一次WEB日志。查一分钟前日志,若有记录500错误,则重启服务。
代码如下:
[cold]
i=0
cd /opt/apache/logs
LOG=/opt/apache/logs/check_java.log
while true
do
Datetime=`date "+%m%d%H%M" -d "-1 minute"`
#Datetime=`date "+%m%d"`
echo $Datetime >>$LOG
echo $checkid >>$LOG
checkid=`grep "$Datetime" /opt/apache/logs/access_log|grep "^500" |grep " 10 "|wc -l`
if [ $checkid = 0 ]
then
{
echo "good for check"
}
else
{
i=`expr $i + 1`
date >>$LOG
echo "restar server :$i" >>$LOG
service XXXX stop
service XXXX start #请改相应服务。
echo "not good"
}
fi
sleep 61
echo "-------------------------------------" >>$LOG
done
[/cold]
连测试的一些语句也进来了。程序写成死循环的模式。以 nohup xxx.sh &后台运行。
对于死循环,在我的脚本中经常使用到,对于定时检查服务等,我经常这么做。
上去查看了一下。又是500错误。
从提示信息来看,是tomcat在调用数据库时出现问题导致。
分析估计是,程序在写的时候不严谨造成调用数据库一时多过所致。
这种情况出现过多次了。做为非程序员的我,虽知道问题大概在哪,却一时无法解决。为了更明确的跟踪到问题点及实现服务的自我修复。特别完成以下脚本。
目标:
1.出现500错误时,能自动识别,并自动修复(即自重启WEB服务)
2.记录故障时间。查看是否有规律。以便定位故障。
3.自查周期。每分钟检查一次WEB日志。查一分钟前日志,若有记录500错误,则重启服务。
代码如下:
[cold]
i=0
cd /opt/apache/logs
LOG=/opt/apache/logs/check_java.log
while true
do
Datetime=`date "+%m%d%H%M" -d "-1 minute"`
#Datetime=`date "+%m%d"`
echo $Datetime >>$LOG
echo $checkid >>$LOG
checkid=`grep "$Datetime" /opt/apache/logs/access_log|grep "^500" |grep " 10 "|wc -l`
if [ $checkid = 0 ]
then
{
echo "good for check"
}
else
{
i=`expr $i + 1`
date >>$LOG
echo "restar server :$i" >>$LOG
service XXXX stop
service XXXX start #请改相应服务。
echo "not good"
}
fi
sleep 61
echo "-------------------------------------" >>$LOG
done
[/cold]
连测试的一些语句也进来了。程序写成死循环的模式。以 nohup xxx.sh &后台运行。
对于死循环,在我的脚本中经常使用到,对于定时检查服务等,我经常这么做。
解决SecureCRT中文显示乱码的两种
转载:HP大中华区总裁孙振耀退休感言




