Linux - (tomcat) java进程监控及守护

Linux服务器下需要监控某些进程的状态. 当进程不存在时, 自动启动, 当进程异常时, 自动重启.

以tomcat为例


1. 编写监控脚本(/data/bin/monitor.sh)

#!/bin/sh
#加载环境变量
#ALL
source /etc/profile

#MINE
source ~/.bash_profile

#进程标识(此处以路径作为标识)
TOMCAT_PATH=/root/tools/server

############重启服务
function restartServer(){
    #杀死进程
    if [ "" != "$1" ]
    then
        echo "kill the process"
        kill -9 $1
        sleep 2
    fi

    #重启进程脚本
    cd "$TOMCAT_PATH/bin"
    echo "restart the process `pwd`/startup.sh"
    sh startup.sh

    #结束
    echo "done!!!"
}

#打印脚本时间
monitorDate=`date "+%Y-%m-%d %H:%M:%S"`
echo -e "\n---------------Monitor at [$monitorDate]"

#获取进程pid
pid=`ps -ef|grep $TOMCAT_PATH|grep java|grep -v grep|awk '{print $2}'`
echo "PID: $pid"
if [ "" == "$pid" ]
then
    echo "ERROR: pid not found"

    #启动服务
    restartServer
    exit
else
    # 进程存在的情况下的处理
    # restartServer $pid
fi

添加执行权限 

chmod +x monitor.sh


2. 部署crontab(定时执行, 每5分钟执行一次)

crontab -e

*/5 * * * * /data/bin/monitor.sh >> /data/bin/minitor.log 2>&1


3. 观察日志文件是否有报错

tail -100f /data/bin/minitor.log


你可能感兴趣的:(Linux)