现在已经项目上线,为了保证应用能高可用,能够及时释放内存,我做了个定时的存活检测和定时重启脚本,利用linux的crontab机制,具体如下:
#1、脚本目的:
# 存活检查和定时重启,保证服务的高可用
#2、运行规则:
#该脚本在crontab里设置每隔五分钟执行一次,比如:....... 11:55 12:00 12:05 12:10 12:15 ......
#3、逻辑规则:
#检测每个tocmat进程是否存在,如果不存在就启动,如果存在该进程,就检测当前时间是否是该tomcat的重启时间,
#如果当前时间是一个app的重启时间就开始重启
export JAVA_HOME=/opt/jdk/jdk1.6.0_27
export PATH=$PATH:$JAVA_HOME/bin
BASE_HOME='/opt/tomcat/tomcat-'
clan1Time=01:40:00
login1Time=01:00:00
register1Time=01:10:00
function_checkAlive()
{
CATALINA_HOME=$1
TomcatID=$(ps aux |grep "$CATALINA_HOME"|grep -v grep|awk '{print $2}'|awk 'NR==1')
echo "the tomcat-$TOMCAT_HOME id : $TomcatID"
if [ $TomcatID ];then # 这里判断TOMCAT进程是否存在
echo "[info]当前tomcat-$CATALINA_HOME进程ID为:$TomcatID..."
function_checkIfNeedRe