############################################################
# 所属模?	: OceanStor9000 巡?工具
# 功能      : 数据一致性扫描??
# 创建时间	:
# 描述		?
#	1、?查是否存在文?/var/log/RecoverFailForDSC
############################################################
#!/bin/sh
set +x

G_MML_FILE_PATH="/opt/huawei/snas/script/inspect_mml"
source $G_MML_FILE_PATH/CheckItems
source $G_MML_FILE_PATH/CommonFunc.sh
CurInspectNum="253"
CurInspectFun="$(GetInspectType $CurInspectNum)"
RESULTFILE="${G_TMP_INSPECT_PATH}tmpResult${CurInspectFun}"
LOG_FILE="/var/log/inspect.log"
isPass=0
>${RESULTFILE}

LOG_FILE="/var/log/inspect.log"


function LOG
{
    echo [`date`][$$][${CurInspectFun}]$@ >> $LOG_FILE
}

LOCAL_BACK_IP=`GetLocalIp`

if [ -z "${LOCAL_BACK_IP}" ]; then
    isPass=1
    echo "[ERR]INFO:Can't get backend IP." >>${RESULTFILE}
    echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE}
    LOG "[$LINENO]ERR: CheckLogPrintLvl Local_BACK_IP is empty, abort!"
    exit 1
fi

flag=0
flagport=""
ports=(988 4016 4004 4100 4104 4108 4020 4048 4040 4088 4092 4060 4064 4900 4608)
timeout -k 9 20 netstat -ntl >${G_TMP_INSPECT_PATH}tmp_netstat_ntl 2>/dev/null
ret=$?
if [ ${ret} -ne 0 ]
then
    echo "[ERR]INFO: failed to excute(timeout -k 9 20 netstat -ntl),ret(${ret})" >>${RESULTFILE}
    isPass=1
else
    for port in ${ports[*]}
    do
        #检查??口是否??监听
        cat ${G_TMP_INSPECT_PATH}tmp_netstat_ntl | grep ":$port" >/dev/null 2>&1
        if [ $? -ne 0 ];then
            LOG "[$LINENO]this port is not monitoring"
            continue
        fi
        ${G_MML_FILE_PATH}/ShowInspectMml $LOCAL_BACK_IP $port "log show lvl" |grep "[A-Z]\+:[^4]" >/dev/null 2>&1
        if [ $? -eq 0 ];then
            flag=1
            if [ "$flagport" == "" ];then
                flagport="$port"
            else
                flagport="$flagport,$port"
            fi
        fi
    done
fi

rm -f ${G_TMP_INSPECT_PATH}tmp_netstat_ntl
LOG "[$LINENO]flag=$flag, flagport=$flagport"

if [ $flag -eq 0 ];then
    echo "INFO: Log print level is WARN" >>${RESULTFILE}
else
    isPass=1
    echo "[ERR]INFO: Log print level is not WARN(port:$flagport)" >>${RESULTFILE}
fi

echo "${CurInspectFun}_Pass $isPass" >>${RESULTFILE}