#!/bin/bash
# 加载环境变量
source /etc/profile
# nginx 和 resin 监听的端口号为 80 和 8080 ,检查 80 和 8080 端口是否有进程在监听
port=`netstat -ntlp | grep -cE ":8080|:80"`
#echo $port
# 如果 80 或 8080 端口没有进程在监听
if [ "$port" = "0" -o "$port" = "1" ]; then
# 则重新启动 nginx 和 resin 的进程
/usr/java/resin/bin/httpd.sh restart
/etc/init.d/nginx restart
# 将日志写入日志文件
echo $(date "+%F %H:%M:%S") - already restart port - process not found >> /root/port.log
# 如果 80 或 8080 端口有进程在监听
else
# 访问接口
code=`curl http://127.0.0.1/check.jsp`
# 如果返回的字符串不是 ok
if [ "$code" != "ok" ]; then
# 则重新启动 nginx 和 resin 的进程
/usr/java/resin/bin/httpd.sh restart
/etc/init.d/nginx restart
# 将日志写入日志文件
echo $(date "+%F %H:%M:%S") - already restart port - check fail ! >> /root/port.log
fi
fi
或者使用monitor监控来实现服务器的自启动