1、编辑shell
命令:
cd /data
mkdir -p task
cd task
vi checkAlive.sh
2、编辑以下内容
!/bin/sh
#tomcat目录路径
TOMCATNAME=/data/tomcat-6.0.45/
#日志路径
log_path=/data/tomcat-6.0.45/logs/checkIsAlive/
echo “———- currentTime: $(date +%Y%m_%d%t%H:%M:%S) start ————-“ >>${log_path}checkIsAlive.log
#获取请求返回码
return=curl -s -w %{http_code} -o /dev/null [http://127.0.0.1:8081/](http://192.168.1.95:8081/eportal/admin
)web
echo “STATUS:”$return >>${log_path}checkIsAlive.log
#tomcat 进程id
javapid=ps aux|grep java|grep -v grep|grep tomcat-6.0.45|awk '{print $2}'
echo “PID:”$javapid >>${log_path}checkIsAlive.log
#返回码$return不等于200
if [ $return -ne 200 ];then
echo “service Is bad !” >>${log_path}checkIsAlive.log
if [ -n “$javapid” ]; then
echo “tomcat is alive” >>${log_path}checkIsAlive.log
kill -9 $javapid
else
echo “tomcat is down “ >>${log_path}checkIsAlive.log
fi
等待30s
sleep 30
/data/tomcat-6.0.45/bin/startup.sh
else
echo “tomcat service Is ok” >>${logpath}checkIsAlive.log
fi
echo “———- currentTime: $(date +%Y%m_%d%t%H:%M:%S) end ————-“ >>${log_path}checkIsAlive.log
3、保存退出
4、验证
命令:
sh checkAlive.sh
查看日志确认是否执行成功
tail -f /data/tomcat-6.0.45/logs/checkIsAlive/checkIsAlive.log
5、设置定时任务
命令:crontab e
#10分钟检测一次
/10 * sh /data/task/checkAlive.sh