#进程名字
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