#!/bin/sh echo "----------------------------------------------" echo " Recherche des erreurs dans les log" echo "----------------------------------------------" echo " "
fic=$1 # nom du fichier month=$2 # mois recherché year=$3 # année recherchée day=$4 # jour recherché error="$5" # chaine erreur
#fic=/soft/oracle/admin/BIPROD/bdump/alert_BIPROD.log #month=DEC #year=2013 #day=30 #error="ORA-"
# On transforme le mois de MAJUSCULE en minuscule puis on passe la première lettre en Majuscule month=`echo $month|tr "A-Z" "a-z"|sed 's/^./\u&/'` day=`echo $day | tr "0" " " | sed 's/^./\u&/'`
echo "File : $fic" echo "month : $month" echo "year : $year" echo "day : $day" echo "error : $error"
nbligne=`wc $fic | awk '{print $1}'` echo "nom de lignes dans le fichier log : " $nbligne
echo "grep -n '... $month $day ........ $year' $fic |head -1 | awk -F ':' '{print $1}'" numligne=`grep -n "... $month $day ........ $year" $fic |head -1 | awk -F ':' '{print $1}'` echo "Numero de la ligne de la date demandée : " $numligne
# on compte le nombre d'erreurs trouvées et on affiche les 5 lignes suivantes du log echo "tail -n +$numligne $fic| grep $error |wc -l" cpt=`tail -n +$numligne $fic| grep -v WARNING |grep $error |wc -l` if [ $cpt == 0 ]; then # si pas d'erreur on sort exit 0 else # On affiche les erreur pour le log Vtom echo "tail -n +$numligne $fic | grep -C 5 $error" tail -n +$numligne $fic |grep -v WARNING| grep -C 5 $error exit $cpt fi