je voudrais lire mon /var/log/messages au fur et a mesure que celui-ci
grandi et lorsque une chaine bien specifie apparait faire une action
particuliere. Ce que je ne veux pas c'est relire le /var/log/messages a
chaque fois mais seulement ce qui est nouveau.
J'ai commence par faire les operations suivantes:
mkfifo messages.fifo
tail -f messages > messages.fifo &
Puis, periodiquement, je viens lire messages.fifo avec le script suivant
#!/bin/sh
NEW=`grep "IP Change" messages.fifo`
if [ ! $NEW = "" ]; then
echo "coucou j'ai change d'IP"
fi
mais grep ne me rends pas la main. Comment faire pour lire un pipe et
sortir lorsque le buffer est vide ?
Stephane
PS: Pour info, le but de se prog est de detecter le changement d'IP de
mon routeur adsl pour mettre a jour dyndns.org