检查端口,进程,日志

#进程名字
PROCESSNAME=$1
#进程存在情况(0为不存在,1为存在)
PROCESSSTATU=$2
#端口
PORT=$3
#端口存在情况(0为不存在,1为存在)
PORTSTATU=$4
#日志绝对路径
LOGPATH=$5
#日志关键字
LOGKEYWORLD=$6

#判断进程
if [ "$PROCESSNAME" != "NUll"] && [ "$PROCESSSTATU" != "NUll" ];then
    echo "#CHECK PROCESS"
    IFS=","
    arr=($PROCESSNAME)
    if [ "$PROCESSSTATU" == "0" ];then
        for i in ${arr[@]};do
            #echo "$i"
            ps -ef | grep $i | grep -v grep  >/dev/null 2>&1
            if [ $? -eq 0 ];then
                echo "stop $i failed"
                exit 1
            else
                echo "stop $i sucess"
            fi
        done
    elif [ "$PROCESSSTATU" == "1" ];then
        for i in ${arr[@]};do
            ps -ef | grep $i | grep -v grep >/dev/null 2>&1
            if [ $? -eq 0 ];then
                echo "start $i success"
                ps -ef | grep $i | grep -v grep
            else
                echo "start $i failed"
                exit 1
            fi
        done
    else
        echo "PROCESSSTATU input 0 or 1"
        exit 1        
    fi
else
    echo "#NO CHECK PROCESS"
fi

#判断端口
if [ "$PORT" != "NUll" ] && [ "$PORTSTATU" != "NUll" ];then
    echo "#CHECK PORT"
    IFS=","
    arr=($PORT)
    if [ "$PORTSTATU" == "0" ];then    
        for j in ${arr[@]};do
            netstat -ant | grep -w $j >/dev/null 2>&1
            if [ $? -eq 0 ];then
                echo "stop $j failed"
                exit 1
            else
                echo "stop $j sucess"
            fi
        done
    elif [ "$PORTSTATU" == "1" ];then
        for j in ${arr[@]};do    
            netstat -ant | grep -w $j  >/dev/null 2>&1
            if [ $? -eq 0 ];then
                echo "start $j success"
                netstat -ant | grep -w $j
            else
                echo "start $j failed "
                exit 1
            fi
        done
    else
        echo "PORTSTATU input 0 or 1"
        exit 1
    fi
else 
    echo "#NO CHECK PORT"
fi

#判断日志是否有关键字
if [ "$LOGPATH" != "NUll" ] && [ "$LOGKEYWORLD" != "NUll" ];then
    echo "#CHECK LOG"
    [ ! -f "$LOGPATH" ] && { echo "Not found $LOGPATH";exit 1; }
    tail -1 $LOGPATH | grep $LOGKEYWORLD >/dev/null 2>&1
    if [ $? -eq 0 ];then
        echo "have key world"
        tail -1 $LOGPATH
    else
        echo "no key world $LOGKEYWORLD"
        exit 1
    fi
else
    echo "#NO CHECK LOG"
fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值