J'ai des codes erreur sur un script et je ne parviens pas à déceller la cause.
 
#! /bin/sh  
 
 
TAIL="tail"                #commande tail du système  
TMP="/usr/local/etc/tmp"   #répertoire temporaire utilisé pour stocker les fichiers temporaires  
GREP="grep"                #commande grep du système  
MAIL="mail"                #commande mail du système  
KEYWORDS="/etc/logkeywords"          #fichier contenant les mot clés à rechercher avec grep  
MESSAGES="/var/log/messages"         #chemin du fichier messages  
HACKMESSAGES="/var/log/hackmessages" #chemin du fichier contenant les rapports  
MESSAGESSIZE="/etc/messagessize"     #dernière taille du fichier messages  
HOSTNAME="sneak"                #nom du hôte  
DATE="date +%d/%m/%y_%H:%M:%S"     #date et heure  
RESULT=0  
OLDSIZE=0  
NEWSIZE="filesize $MESSAGES"  
DIFFERENCE=0  
SYSADMIN="root"            #nom de l'administrateur système  
 
 
umask 077                #tout fichier créé portera l'accès rwx------  
 
 
#Supprime les dernier rapport $TMP/check* et $TMP/report*  
rm -f $TMP/check* $TMP/report*  
 
 
#Si le fichier messagesize existes récupère son contenu  
if [ -f $MESSAGESSIZE ]; then  
   OLDSIZE="cat $MESSAGESSIZE"  
fi  
 
 
#Calcule la différence de taille entre l'ancienne taille du fichier messages et la nouvelle  
#le résultat $DIFFERENCE sera utilisé pour $TAIL -c  
let DIFFERENCE=$NEWSIZE-$OLDSIZE  
 
 
#Si la différence=0 ne fait rien  
if [ $DIFFERENCE -ne 0 ]; then  
   $TAIL -c $DIFFERENCE $MESSAGES > $TMP/check.$$  
 
 
#MAJ de $MESSAGESSIZE  
   echo "$NEWSIZE" > $MESSAGESSIZE  
   if[ $GREP -f $KEYWORDS $TMP/check.$$ > $TMP/checkouput.$$ ]; then
      echo "===============================================================================" >> $TMP/report.$$  
      echo "$DATE                            Alertes attaques" >> $TMP/report.$$  
      echo "===============================================================================" >> $TMP/report.$$  
      cat $TMP/checkoutput.$$ >> $TMP/report.$$  
      RESULT=1  
      cat $TMP/report.$$ >> $HACKMESSAGES  
   fi  
fi  
 
 
#Si il y a eu des contenus suspects dans le fichier messages, le signal à $SYSADMIN@$HOSTNAME  
if [ "$RESULT" -eq 1 ]; then  
   cat $TMP/report.$$ | $MAIL -s "$HOSTNAME $DATE Alertes attaques" $SYSADMIN  
fi  
 
 
rm -f $TMP/check* $TMP/report*  
 
-----------------------------------
 
# ./logcheck
./logcheck: line 21: umask: 077               : octal number out of range
./logcheck: line 36: let: /var/log/messages        -0: syntax error: operand expected (error token is "/var/log/messages        -0" )
./logcheck: line 46: syntax error near unexpected token `then'
./logcheck: line 46: `   if[ $GREP -f $KEYWORDS $TMP/check.$$ > $TMP/checkouput.$$ ]; then'
 
Message édité par sneakz le 20-12-2002 à 22:18:43