微信

使用微信服务,更方便

职友集>程序员面试题 > 怎么自动重启服务的shell脚本?

怎么自动重启服务的shell脚本?

2015-09-30 06:30:02 阅读( 220 )

2365人 收藏本页

标签:程序员面试题

公司tomcat服务器有个过一段时间自动会挂的bug一直没能解决,挂的时候还要手动重启tomcat,于是决定写个脚本让它定时检测故障自动重启吧。#!/bin/bash
if [ ! -f /tmp/down_count ];then
echo "0" > /tmp/down_count

curl -I tomcat-host -o "/tmp/status" >/dev/null 2>&1
code=`awk 'NR==1 {print $2}' /tmp/status`
if [ "${code}" -ge 500 ];then
down=`expr $(cat /tmp/down_count) + 1`
echo "$down" > /tmp/down_count
if [ "$down" -gt 3 ];then
if [ ! -f "/tmp/restart_count" ];then
echo "0" > /tmp/restart_count
fi
restart_count=`expr $(cat /tmp/restart_count) + 1`
echo "$restart_count" > /tmp/restart_count
if [ "$restart_count" -le 2 ];then
/etc/init.d/tomcat6 restart
echo "tomcat down at `date`" >> /tmp/down_info
fi
fi
else
echo "0" > /tmp/down_count
echo "0" > /tmp/restart_count
fi

fielse    echo "0" > /tmp/down_count    echo "0" > /tmp/restart_countfi脚本实现了,当检测网页状态码大于等于500连续出现3次数,自动重启tomcat6,且只连续重启两次。

下一篇:简单面试问题

上一篇:2013年华为系统程序笔试真题

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题