1. ###################### 昨天的日期 ######################################### 
  2. YESTERDAY() 
  3. YY=`date '+%Y'
  4. MM=`date '+%m'
  5. DD=`date '+%d'
  6.  
  7. #echo $YY 
  8. #echo $MM 
  9. #echo $DD 
  10.  
  11. if [ $DD-1 -eq 0 ] 
  12. then 
  13.         MM=`expr $MM - 1` 
  14.     if [ $MM -lt 10 ] && [ $MM -gt 0 ]  
  15.     then  
  16.         MM=0$MM 
  17.     elif [$MM -eq 0] 
  18.     then 
  19.         MM=12 
  20.     else 
  21.         MM=$MM 
  22.     fi 
  23.  
  24.         case $MM in 
  25.         2) 
  26.                 DD=28  
  27.         ;; 
  28.         4) 
  29.                 DD=30 
  30.                 ;; 
  31.         6) 
  32.                 DD=30 
  33.                 ;; 
  34.         9) 
  35.                 DD=30 
  36.                 ;; 
  37.         11) 
  38.                 DD=30 
  39.                 ;; 
  40.         *) 
  41.                 DD=31 
  42.                 ;; 
  43.         esac 
  44.  
  45. else 
  46.         DD=`expr $DD - 1` 
  47.     if [ $DD -lt 10 ]  
  48.     then  
  49.         DD=0$DD 
  50.     fi 
  51.          
  52. fi 
  53. case $1 in 
  54. DF) echo $YY$MM$DD ;; 
  55. DT) echo $MM-$DD   ;; 
  56. esac 
  57.  
  58. #################################### END ###################################################### 
  59.  
  60. #时间格式:20111107 
  61. #DF=`date '+ %Y%m%d' -d '-1 day' 
  62. DF=`YESTERDAY DF` 
  63. DT=`YESTERDAY DT` 
  64. FILENAME=monrev 
  65. DIR=/home/view/monrev 
  66. CSTJ=/home/view/cstj 
  67. SWFILE=/ag/switch/switch/log/debug/swMonrev* 
  68.  
  69. #echo $DF 
  70. #echo $DT 
  71. #exit 
  72.  
  73.  
  74. if [ ! -d $DIR ] 
  75.         then 
  76.         mkdir $DIR 
  77. fi 
  78.  
  79.  
  80. echo "开始生成tranid文件" 
  81. grep -h "^lTranid" $SWFILE >$DIR/tranid.txt 
  82. echo "开始生成trancode文件" 
  83. grep -h "^aTrancode" $SWFILE >$DIR/trancode.txt 
  84. echo "开始生成time文件" 
  85. grep -h  "十六进制报文(开始)" $SWFILE >$DIR/time.txt 
  86. echo "开始生成mail文件" 
  87. grep -h "iDes_q" $SWFILE >$DIR/mail.txt 
  88.  
  89. echo "最终文件开始生成......" 
  90. #删除昨天的超时统计文件 
  91. rm -rf $CSTJ/cstj.tmp 
  92.  
  93. NU=`cat $DIR/time.txt |wc -l` 
  94. N=1 
  95. until [ $N -eq $NU ] 
  96. do 
  97.  
  98.                                A=`sed -n $(($N))p $DIR/tranid.txt` 
  99.                                B=`sed -n $(($N))p $DIR/trancode.txt` 
  100.                                C=`sed -n $(($N))p $DIR/time.txt |awk '{print $1 " " $2}'
  101.                    D=`sed -n $(($N))p $DIR/mail.txt` 
  102.                    echo $D $C >>$CSTJ/cstj.tmp  
  103.                                echo $A $B $C $D|grep "$DT" >>$DIR/$FILENAME.$DF 
  104.                                N=`expr $N + 1` 
  105. done 
  106. echo "文件生成完毕!" 
  107. echo "超时统计开始" 
  108. #################超时统计############################################### 
  109. for i in `cat $CSTJ/cstj.ini`        
  110. do 
  111.     num=`grep "$DT" $CSTJ/cstj.tmp|grep "\[$i\]" | wc -l | awk '{print $1}'`  
  112.     echo "$num" >>$CSTJ/$DF.txt 
  113. done 
  114. echo "超时统计结束" 
  115. #rm -rf $CSTJ/cstj.tmp