CURRDAY=`date +%Y%m%d`
timeout_count=`cat ejbtran.log|grep -v INFO | awk -f timeout.awk|wc -l`
echo $timeout_count
timeout_count=`expr $timeout_count - 0`
total_count=`cat ejbtran.log|grep -v INFO |wc -l`
total_count=`expr $total_count - 0`
last_timeout_count=`cat .timeout_count|awk -F"," -v t=$CURRDAY '$1 == t{print $2}'`
if [ "${last_timeout_count}" = "" ]; then
last_timeout_count=0
echo "${CURRDAY},0" > .timeout_count
else
echo "not null"
fi
echo "last_timeout_count=${last_timeout_count}"
timeout_count="${timeout_count}"
echo "timeout_count=${timeout_count}"
isSms=`expr $timeout_count - $last_timeout_count`
echo "差异数="$isSms
if [ "${timeout_count}" -gt "${last_timeout_count}" ]; then
echo "${CURRDAY},${timeout_count}" > .timeout_count
fi
if [ "${isSms}" -gt "3" ]; then
msg="OCS 接口超时提醒,当日累计超时${timeout_count}笔,上次计数${last_timeout_count}笔,总交易数${total_count},成功率${rate}%"
echo $msg
#send_sms "00" $msg
else
last_rate=`echo "scale=4;($total_count-$last_timeout_count)/$total_count*100"|bc`
echo "与上次记录相同${last_timeout_count},总交易数${total_count},成功率${last_rate}"
timeout_count=`cat ejbtran.log|grep -v INFO | awk -f timeout.awk|wc -l`
echo $timeout_count
timeout_count=`expr $timeout_count - 0`
total_count=`cat ejbtran.log|grep -v INFO |wc -l`
total_count=`expr $total_count - 0`
last_timeout_count=`cat .timeout_count|awk -F"," -v t=$CURRDAY '$1 == t{print $2}'`
if [ "${last_timeout_count}" = "" ]; then
last_timeout_count=0
echo "${CURRDAY},0" > .timeout_count
else
echo "not null"
fi
echo "last_timeout_count=${last_timeout_count}"
timeout_count="${timeout_count}"
echo "timeout_count=${timeout_count}"
isSms=`expr $timeout_count - $last_timeout_count`
echo "差异数="$isSms
if [ "${timeout_count}" -gt "${last_timeout_count}" ]; then
echo "${CURRDAY},${timeout_count}" > .timeout_count
fi
if [ "${isSms}" -gt "3" ]; then
msg="OCS 接口超时提醒,当日累计超时${timeout_count}笔,上次计数${last_timeout_count}笔,总交易数${total_count},成功率${rate}%"
echo $msg
#send_sms "00" $msg
else
last_rate=`echo "scale=4;($total_count-$last_timeout_count)/$total_count*100"|bc`
echo "与上次记录相同${last_timeout_count},总交易数${total_count},成功率${last_rate}"
fi
timeout.awk内容:
BEGIN {
FS="\t"
}
{
timeout_sec=$(NF-1)
if(timeout_sec>5){
printf("%s\t%s\t%s\t%s\t%s\t%s\n" ,$1,$(NF-5),$(NF-4),$(NF-3),$(NF-2),$(NF-1))
}
}