服务中止后自动启动脚本

#!/bin/sh
#须要监测的服务列表
services=("common-server" "tomcat-server")
startScript=""

# 获取服务启动脚本
function getStart() {
    # 独立服务启动脚本
    start="./$1/bin/start.sh"
    # tomcat服务启动脚本
    startup="./$1/bin/startup.sh"
    if [ -f $start ]
    then
        startScript=$start
    else
        startScript=$startup
    fi
}

while(true)
do
    for s in ${services[@]}; do
    getStart $s
    sudo ps -ef | grep $s | grep -v "grep" >> /dev/null
    status=$?
    if [ $status -eq 0 ]
    then
        # 服务正常,无需启动
        echo $s" is ok." `date +%Y-%m-%d\ %H\:%M\:%S` >> /dev/null
    else
        # 服务中止,需重启
        echo "restart $s at " `date +%Y-%m-%d\ %H\:%M\:%S` >> monitor.log
        $startScript >> /dev/null
        sleep 2
    fi
    done
    sleep 10
done
相关文章
相关标签/搜索