#!/bin/bash

G_REMOTE_TMP_FILE="/tmp/tmpfileNASClusterStatus"
LOG_FILE="/var/log/inspect.log"
isPass=0
Result=""

function LOG
{
   time=$(date)
   echo [${time}][$$]$@ >> $LOG_FILE
}

function set_ifs
{
    IFS_OLD=$IFS
    IFS=$'\n'
}

function restore_ifs
{
    IFS=$IFS_OLD
}

#ȡڵ洢
node_service_type=$(egrep '[[]|^'node_service_type'=' /opt/huawei/snas/etc/snas.ini | tr -d '\n' | grep -Po '(?<=[[]'NODE'[]]'node_service_type'=)[0-9]+')

if [ "${node_service_type}" != "1" ];then
	echo "Does not involve"
    isPass=0
    Result="Does not involve"
	LOG "node_service_type :${node_service_type}.Does not involve"
	exit 0
fi

[ -f "$G_REMOTE_TMP_FILE[CIFS]" ] && rm -f "$G_REMOTE_TMP_FILE[CIFS]"
[ -f "$G_REMOTE_TMP_FILE[NFS]" ] && rm -f "$G_REMOTE_TMP_FILE[NFS]"
#ȡCIFS״̬
service nascifs status > $G_REMOTE_TMP_FILE[CIFS]

#
set_ifs
InfoEqualizerStatus=`cat $G_REMOTE_TMP_FILE[CIFS] | grep "InfoEqualizer"|sed -n '$p'|awk 'gsub(/^ *| *$/,"")'`
if [ "$InfoEqualizerStatus" != "InfoEqualizer..running" ]; then
    LOG "[$FUNCNAME]$Item InfoEqualizerStatus(${InfoEqualizerStatus}) is not \"InfoEqualizer..running\""
    isPass=1
    echo "[ERR]InfoEqualizer status is not running.ERRCODE(5)"
    Result="InfoEqualizer_Status:unused"
else
    Result="InfoEqualizer_Status:running"
fi

count=`cat $G_REMOTE_TMP_FILE[CIFS] | grep "running" | wc -l`
if [ ${count} != "7" ];then
    isPass=1
    echo "[ERR]The number of the InfoEqualizer CIFS running process is not 7.ERRCODE(6)"
    LOG "[$FUNCNAME]$Item cifs count(${count}) is not \"4\""
    Result=$Result"||CIFS_Status:Abnormal"
else
    Result=$Result"||CIFS_Status:Normal"
fi

#ȡNFS״̬
service nasnfs status > $G_REMOTE_TMP_FILE[NFS]
count=`cat $G_REMOTE_TMP_FILE[NFS] | grep "running" | wc -l`
if [ ${count} != "8" ];then
    isPass=1
    echo "[ERR]The number of the InfoEqualizer NFS running process is not 8.ERRCODE(7)"
    LOG "[$FUNCNAME]$Item nfs count(${count}) is not \"6\""
    Result=$Result"||NFS_Status:Abnormal"
else
    Result=$Result"||NFS_Status:Normal"
fi

echo "$Result"
restore_ifs
[ -f "$G_REMOTE_TMP_FILE[CIFS]" ] && rm -f "$G_REMOTE_TMP_FILE[CIFS]"
[ -f "$G_REMOTE_TMP_FILE[NFS]" ] && rm -f "$G_REMOTE_TMP_FILE[NFS]"
#Ƿسɹ[ERR]ʶǷ
exit 0

