more secure string operations
[u/mrichter/AliRoot.git] / TPC / scripts / filterRecLog.sh
1 # marian.ivanov@cern.ch
2 # Filter error logs 
3 # Input   - errRec.logs  - text file with the list of error logs
4 # Output  - abort.log      - text file with the seg.faults runs
5 #         - abortout.log   - text file with the output of the seg.fault runs
6 #                          - the err.log and out.log suppose to be in the same directory
7 #         -syswatchAbort.log
8
9 isOK=0 
10 nonOK=0
11 #
12 rm -f abort.log
13 rm -f abortout.log
14 rm -f syswatchAbort.log
15 rm -f syswatchAll.log
16 rm -f seg0.out
17
18 echo hname/C:sname/C:id0/I:id1/I:id2/I:first/D:stampSec/D:mi.fMemUsed/D:mi.fSwapUsed/D:cI.fUser/D:cI.fSys/D:pI.fMemResident/D:pI.fMemVirtual/D:pI.fCpuUser/D:pI.fCpuSys/D:stampOldSec/D:miOld.fMemUsed/D:miOld.fSwapUsed/D:cIOld.fUser/D:cIOld.fSys/D:pIOld.fMemResident/D:pIOld.fMemVirtual/D:pIOld.fCpuUser/D:pIOld.fCpuSys/D > syswatchAbort.log
19 echo hname/C:sname/C:id0/I:id1/I:id2/I:first/D:stampSec/D:mi.fMemUsed/D:mi.fSwapUsed/D:cI.fUser/D:cI.fSys/D:pI.fMemResident/D:pI.fMemVirtual/D:pI.fCpuUser/D:pI.fCpuSys/D:stampOldSec/D:miOld.fMemUsed/D:miOld.fSwapUsed/D:cIOld.fUser/D:cIOld.fSys/D:pIOld.fMemResident/D:pIOld.fMemVirtual/D:pIOld.fCpuUser/D:pIOld.fCpuSys/D > syswatchAll.log
20
21
22 #
23 for efile in `cat errRec.log`  ;do
24  xxx=`cat $efile| grep segmentation`
25  xxx=$xxx`cat $efile| grep Aborted`
26  xxx=$xxx`cat $efile| grep floating`
27  sysfile=`echo $efile| sed s_err_syswatch_`
28  # 
29  if [ -z "$xxx" ]
30  then
31   let isOK=isOK+1
32   else
33   let nonOK=nonOK+1
34   echo nonOK=$nonOK
35   echo "$efile" >>abort.log
36   echo $efile
37   ofile=`echo $efile| sed s_err_out_`
38   cat $efile   >> abortout.log
39   cat $ofile   >> abortout.log
40   #cat $sysfile | grep -v hname\/C:sname\/C: >> syswatchAbort.log
41  fi
42   #cat $sysfile | grep -v hname\/C:sname\/ >> syswatchAll.log 
43 done; 
44
45 #
46 # connection problems
47 #
48 rm networkProblem.log
49 touch networkProblem.log
50 netOK=0;
51 netNonOK=0;
52 for efile in `cat errRec.log`  ;do
53     xxx=`cat $efile| grep tcp_connect`
54     if [ -z "$xxx" ]
55     then
56       let netOK=netOK+1
57     else
58       let netNonOK=netNonOK+1
59       echo $efile >> networkProblem.log 
60     fi;
61 done;
62
63 rm nfsProblem.log
64 touch nfsProblem.log
65 nfsOK=0;
66 nfsNonOK=0;
67 for efile in `cat errRec.log`  ;do
68     xxx=`cat $efile| grep tcp_connect`
69     xxx=$xxx`cat $efile| grep  Stale\ NFS\ file\ handle`
70     if [ -z "$xxx" ]
71     then
72       let nfsOK=nfsOK+1
73     else
74       let nfsNonOK=nfsNonOK+1
75       echo $efile >> nfsworkProblem.log 
76     fi;
77 done;
78
79 #
80 # Print stat
81 #
82 echo isOK=$isOK nonOK=$nonOK
83 echo netOK=$netOK netNonOK=$netNonOK
84 echo nfsOK=$nfsOK netNonOK=$nfsNonOK
85 #
86 # filter segmentation fault
87 #
88 rm seg0.out
89 for a in `cat  abort.log |sed s_err_out_ ` ;do
90     cat $a | grep 0x | grep \# >> seg0.out
91 done;
92
93 for a in `cat  abort.log ` ;do
94     cat $a | grep 0x | grep \# >> seg0.out
95 done;