#1 Le 13/05/2016, à 15:32
- NoobWithRaspberry
Surveiller un fichier en continu [Résolu]
Bonjour,
Après avoir réalisé un scripts en bash me permettant de surveiller les logs (on lui passe en argument le fichier de log à surveiller, l'entrée à surveiller, ou un fichier .ini), et qui exécute l'action_voulue par l'utilisateur, je me suis rendu compte d'un petit beug assez bête, et je n'arrive pas à le résoudre.
Imaginez je veux envoyer un mail lorsque l'expression "LOG" apparaît dans /var/log/syslog.
Quand "LOG" apparaît, pas de problèmes, ça envoie bien.
Par contre beaucoup d'autres mots peuvent apparaître comprenant LOG à l'intérieur de leur syntaxe (ex : LOG_CRIT), et donc mon programme envoie aussi des mails lorsqu'ils apparaissent (et oui, la commande grep)
J'aimerai trouver un moyen, et je suis sûr qu'il y en a un tout simple, qui lui dirai d'envoyer un mail que lorsqu'il voit LOG seul, et non LOG_CRIT, ALOGRT ou je ne sais quoi.
Des idées?
Je vous remercie d'avance.
Dernière modification par NoobWithRaspberry (Le 27/05/2016, à 14:06)
Hors ligne
#2 Le 13/05/2016, à 16:02
- jplemoine
Re : Surveiller un fichier en continu [Résolu]
Si tu veux garder la logique, je pense qu'il faut faire un grep avec une espace avant et après LOG.
tu peux essayer :
- soit de mettre entre " --> " LOG "
- soit d'échapper l'espace \ LOG \
- soit les 2 "\ LOG\ "
je ne sais pas si l'une des syntaxes fonctionne... Mais c'est en gros, quelque chose comme ça.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 13/05/2016, à 18:08
- pingouinux
Re : Surveiller un fichier en continu [Résolu]
Bonsoir,
Si tu utilises grep, c'est
grep -w ...
Hors ligne
#4 Le 27/05/2016, à 14:07
- NoobWithRaspberry
Re : Surveiller un fichier en continu [Résolu]
Merci pour vos réponses grep -w marche parfaitement
Tant que j'y suis, j'ai une autre petite question :
J'aimerai rajouter réellement un ";" au début d'une ligne d'un fichier. Je sais que l'option "-i" de sed permet de modifier directement le fichier. Par contre je n'arrive pas à insérer le ";" au début de la ligne...
Hors ligne
#5 Le 27/05/2016, à 14:10
- NoobWithRaspberry
Re : Surveiller un fichier en continu [Résolu]
Autant pour moi je viens de trouver :
$ echo "ok" | sed -e 's/^[ \t]*/;/g'
;ok
Dernière modification par NoobWithRaspberry (Le 27/05/2016, à 14:11)
Hors ligne