ora_alertlog.sh

#!/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

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *