Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/07/2015, à 16:49

Sylvainremi

Script Scanneur de Logs

Bonjour à tous et à toutes.

Voila je cherche à "scanner" en permanence plusieurs logs , j'ai rédigé un script à cette effet mais ...
Il ne marche pas, en effet le tail -f s’exécute seulement sur le premier logs et comme la commande tail ne s’arrête jamais il ne passe pas au suivant.
quelqu'un aurais une solution/piste pour effectuer plusieurs tails (sans passer par multitail)

Merci d'avance à tous ceux qui sont passés par là.
Rémi

#!/bin/bash

string="error"

for i in `ls /var/log/ | grep -E "^vhost..?$"`
do
tail -n 0 -F /var/log/$i/logs/*  | \  
while read LINE
do
echo "$LINE" | grep -q $string
if [ $? = 0 ]
then
date3=`date +%Y-%m-%d-%H:%M:%S`
echo -e "$date3 $string found" >> errorlog.txt
mail -s "erreur" ilyaunbobo@apache.com < errorlog.txt
fi
done
done

Hors ligne

#2 Le 24/07/2015, à 10:17

credenhill

Re : Script Scanneur de Logs

hello
rediriger des tail-f de chaque log en parallèle dans un fichier et surveiller ce fichier

$ tail -f log1 >> /tmp/x& tail -f log2 >> /tmp/x& tail -f log3 >> /tmp/xx&
$ tail -f /tmp/x 

Hors ligne

#3 Le 24/07/2015, à 10:46

bruno

Re : Script Scanneur de Logs

hum… Ce n'est pas idiot, mais ce fichier ne va-t-il pas grossir indéfiniment et finir par saturer le disque ? (option -f)
Tail n'est pas fait pour cela. Si l'objectif est de surveiller les logs, il y a des outils existants : logwatch, logcheck (pour un envoi par courriel) et de nombreux autres outils d'analyse et de surveillance plus ou moins élaborés.

Dernière modification par bruno (Le 24/07/2015, à 10:46)

Hors ligne