Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Surveiller un fichier log

29 réponses
Avatar
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

10 réponses

1 2 3
Avatar
Zeyes
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.

Avatar
Arol
"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.

Avatar
Luc.Habert.00__arjf
"Arol" :

cat fichier.log | grep ligne recherchée


UUOC...

Avatar
Nicolas George
"Arol" wrote in message <4621ff98$0$27784$:
script php


Pourquoi pas en fortran, tant que tu y es ?

Avatar
Luc.Habert.00__arjf
"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.

Avatar
Zeyes
"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.


Avatar
Stéphane CARPENTIER

"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/


Avatar
Nicolas George
Zeyes wrote in message <46220944$0$25933$:
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.

Avatar
Zeyes

"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)



Avatar
Zeyes
Zeyes wrote in message <46220944$0$25933$:
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.



1 2 3