Surveiller un fichier log

Le
Serge Nazarian
Bonjour,

Je désire entreprendre une action dès qu'une certaine ligne est écrite dans
un fichier de log.
Quelqu'un aurait-il une idée sur la manière de procéder.

Merci pour toute aide.
Cordialement,
--
Serge Nazarian

Cliquez ci dessous pour une réponse personnelle :
http://cerbermail.com/?CBBJUUv0pN
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Zeyes
Le #1883672
Bonjour,

Je désire entreprendre une action dès qu'une certaine ligne est écrite dans
un fichier de log.
Quelqu'un aurait-il une idée sur la manière de procéder.

Merci pour toute aide.
Cordialement,
--
Serge Nazarian

Cliquez ci dessous pour une réponse personnelle :
http://cerbermail.com/?CBBJUUv0pN

Y'a un truc, "gamin" qui permet de surveiller des fichiers... mais je

crois que c'est une librairie implementant une api. Il faudrait ecrire
un chti bout de code C, donc, je pense.

Arol
Le #1883671
"Serge Nazarian" a écrit dans le message de news:
Je désire entreprendre une action dès qu'une certaine ligne est écrite
dans

un fichier de log.
Quelqu'un aurait-il une idée sur la manière de procéder.


Un truc simple :
cat fichier.log | grep ligne recherchée

Tu mets cette commande dans un script php lancé par un cron toutes les x
minutes.
Si le résultat est non nulle, tu fais une action.

Luc.Habert.00__arjf
Le #1883670
"Arol" :

cat fichier.log | grep ligne recherchée


UUOC...

Nicolas George
Le #1883669
"Arol" wrote in message
script php


Pourquoi pas en fortran, tant que tu y es ?

Luc.Habert.00__arjf
Le #1883668
"Serge Nazarian" :

Je désire entreprendre une action dès qu'une certaine ligne est écrite dans
un fichier de log.


Le mieux serait d'intercaler entre le fichier qui pond le log et le fichier
de log un programme qui transmet tout en regardant ce qu'il passe.

Genre, tu mets un pipe nommé à la place du fichier où le programme veut
écrire le log.

Zeyes
Le #1883667
"Serge Nazarian" :

Je désire entreprendre une action dès qu'une certaine ligne est écrite dans
un fichier de log.


Le mieux serait d'intercaler entre le fichier qui pond le log et le fichier
de log un programme qui transmet tout en regardant ce qu'il passe.

Genre, tu mets un pipe nommé à la place du fichier où le programme veut
écrire le log.
Ben si c'est syslogd ... c'est pour ca que je m'etais interesse a gamin

comme fam (dans la doc, les anglais pensent que les francophones
trouvent ca drole)... mais bon, j'ai pas encore essaye.


Stéphane CARPENTIER
Le #1883665

"Serge Nazarian" a écrit dans le message de news:
Je désire entreprendre une action dès qu'une certaine ligne est écrite
dans

un fichier de log.
Quelqu'un aurait-il une idée sur la manière de procéder.


Un truc simple :
cat fichier.log | grep ligne recherchée

Tu mets cette commande dans un script php lancé par un cron toutes les x
minutes.
Si le résultat est non nulle, tu fais une action.


Comme les deux réponses précédantes l'ont écrit, le cat est inutile et le
php est un peu lorud.

Mais il faut aussi penser à supprimer la ligne du fichier de log après
l'action. Sinon, l'action sera effectuée toutes les x minutes une fois la
ligne insérée.

--
Stéphane

Pour me répondre, traduire gratuit en anglais et virer le .invalid.
http://stef.carpentier.free.fr/


Nicolas George
Le #1883577
Zeyes wrote in message
Ben si c'est syslogd ...


Si c'est syslogd, c'est encore plus facile, on peut lui demander d'envoyer
une copie de ce qu'il loggue dans un pipe nommé.

Encore mieux : si c'est syslogd, on peut mettre syslog-ng à la place, et
utiliser ses fonctionnalités de filtrage.

Tiens, d'ailleurs, je devrais l'installer sur les diverses machines que je
gère.

Zeyes
Le #1883576

"Serge Nazarian" a écrit dans le message de news:
Je désire entreprendre une action dès qu'une certaine ligne est écrite
dans

un fichier de log.
Quelqu'un aurait-il une idée sur la manière de procéder.
Un truc simple :

cat fichier.log | grep ligne recherchée

Tu mets cette commande dans un script php lancé par un cron toutes les x
minutes.
Si le résultat est non nulle, tu fais une action.


Comme les deux réponses précédantes l'ont écrit, le cat est inutile et le
php est un peu lorud.

Mais il faut aussi penser à supprimer la ligne du fichier de log après
l'action. Sinon, l'action sera effectuée toutes les x minutes une fois la
ligne insérée.

Et pourquoi pas avec

tail -f fichier.log | gawk '/toto/ { print "coucou" }'

(et si c'est naze, pas la peine de me traiter d'iompetent ou tordu...,
juste: dites-le)



Zeyes
Le #1883575
Zeyes wrote in message
Ben si c'est syslogd ...


Si c'est syslogd, c'est encore plus facile, on peut lui demander d'envoyer
une copie de ce qu'il loggue dans un pipe nommé.
Ca resoud le probleme? On peut surveiller un pipe nomme?


Encore mieux : si c'est syslogd, on peut mettre syslog-ng à la place, et
utiliser ses fonctionnalités de filtrage.
Connais... je vais voir


Tiens, d'ailleurs, je devrais l'installer sur les diverses machines que je
gère.



Publicité
Poster une réponse
Anonyme