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
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
Mais y'aurait pas un module du noyeau qui permettrait de hooker le
fwrite pour surveiller une liste de fichiers (dans /etc/truc.conf), et de lancer une action? Ca serait plus cool que de faire une surveillance par iterations
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
Mais y'aurait pas un module du noyeau qui permettrait de hooker le
fwrite pour surveiller une liste de fichiers (dans /etc/truc.conf), et
de lancer une action?
Ca serait plus cool que de faire une surveillance par iterations
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
Mais y'aurait pas un module du noyeau qui permettrait de hooker le
fwrite pour surveiller une liste de fichiers (dans /etc/truc.conf), et de lancer une action? Ca serait plus cool que de faire une surveillance par iterations
Luc.Habert.00__arjf
Zeyes :
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?
Bein tu écris un script de quelques lignes dans le langage de ton choix...
Zeyes :
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?
Bein tu écris un script de quelques lignes dans le langage de ton choix...
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?
Bein tu écris un script de quelques lignes dans le langage de ton choix...
Zeyes
Zeyes :
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?
Bein tu écris un script de quelques lignes dans le langage de ton choix... Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans
le pipe? Pourquoi ca marcherait pas avec un fichier? Je ne sais pas lire un pipe nomme dans un script... tu fais comment? J'ai fouille dans le man... mais pas gargle Je continue a chercher....
Zeyes :
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?
Bein tu écris un script de quelques lignes dans le langage de ton choix...
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans
le pipe?
Pourquoi ca marcherait pas avec un fichier?
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
J'ai fouille dans le man... mais pas gargle
Je continue a chercher....
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?
Bein tu écris un script de quelques lignes dans le langage de ton choix... Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans
le pipe? Pourquoi ca marcherait pas avec un fichier? Je ne sais pas lire un pipe nomme dans un script... tu fais comment? J'ai fouille dans le man... mais pas gargle Je continue a chercher....
Luc.Habert.00__arjf
Zeyes :
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans le pipe?
Oui, c'est le principe d'un pipe. Si tu essayes de lire dessus le noyau te bloque jusqu'à ce qu'un autre process se mette à écrire dedans.
Pourquoi ca marcherait pas avec un fichier?
Parce que c'est comme ça. Quand ta tête de lecture est à la fin du fichier, et que tu demandes à lire, le noyau te rend la main immédiatement en te disant qu'il n'y a rien à lire.
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
Comme si c'était un fichier (la seule différence est que tu n'as pas le droit de déplacer la tête de lecture, vu qu'il n'y en a pas). Par exemple, en perl :
while (<>) { if (/motif recherché/) { action } }
Zeyes :
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans
le pipe?
Oui, c'est le principe d'un pipe. Si tu essayes de lire dessus le noyau
te bloque jusqu'à ce qu'un autre process se mette à écrire dedans.
Pourquoi ca marcherait pas avec un fichier?
Parce que c'est comme ça. Quand ta tête de lecture est à la fin du fichier,
et que tu demandes à lire, le noyau te rend la main immédiatement en te
disant qu'il n'y a rien à lire.
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
Comme si c'était un fichier (la seule différence est que tu n'as pas le
droit de déplacer la tête de lecture, vu qu'il n'y en a pas). Par exemple,
en perl :
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans le pipe?
Oui, c'est le principe d'un pipe. Si tu essayes de lire dessus le noyau te bloque jusqu'à ce qu'un autre process se mette à écrire dedans.
Pourquoi ca marcherait pas avec un fichier?
Parce que c'est comme ça. Quand ta tête de lecture est à la fin du fichier, et que tu demandes à lire, le noyau te rend la main immédiatement en te disant qu'il n'y a rien à lire.
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
Comme si c'était un fichier (la seule différence est que tu n'as pas le droit de déplacer la tête de lecture, vu qu'il n'y en a pas). Par exemple, en perl :
while (<>) { if (/motif recherché/) { action } }
Zeyes
Zeyes :
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans le pipe?
Oui, c'est le principe d'un pipe. Si tu essayes de lire dessus le noyau te bloque jusqu'à ce qu'un autre process se mette à écrire dedans.
Pourquoi ca marcherait pas avec un fichier?
Parce que c'est comme ça. Quand ta tête de lecture est à la fin du fichier, et que tu demandes à lire, le noyau te rend la main immédiatement en te disant qu'il n'y a rien à lire.
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
Comme si c'était un fichier (la seule différence est que tu n'as pas le droit de déplacer la tête de lecture, vu qu'il n'y en a pas). Par exemple, en perl :
while (<>) { if (/motif recherché/) { action } } Ah, j'ai trouve un truc, en C:
fnctl() extrait: " F_NOTIFY (Nouveauté Linux 2.4) Fournit un avertissement lorsque le répertoire correspondant à fd ou l'un des fichiers qu'il contient est modifié. Les événements à notifier sont précisés dans arg, " mais pour catcher les signaux, j'ai sigaction(). Ca te semble correct? Avec ca, on ecrire un petit bout de code pour attendre la modif d'un fichier et lancer une commande (en parametres) Je vais voir
Zeyes :
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans
le pipe?
Oui, c'est le principe d'un pipe. Si tu essayes de lire dessus le noyau
te bloque jusqu'à ce qu'un autre process se mette à écrire dedans.
Pourquoi ca marcherait pas avec un fichier?
Parce que c'est comme ça. Quand ta tête de lecture est à la fin du fichier,
et que tu demandes à lire, le noyau te rend la main immédiatement en te
disant qu'il n'y a rien à lire.
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
Comme si c'était un fichier (la seule différence est que tu n'as pas le
droit de déplacer la tête de lecture, vu qu'il n'y en a pas). Par exemple,
en perl :
while (<>) {
if (/motif recherché/) {
action
}
}
Ah, j'ai trouve un truc, en C:
fnctl()
extrait:
"
F_NOTIFY
(Nouveauté Linux 2.4) Fournit un avertissement lorsque le
répertoire correspondant à fd ou l'un des fichiers qu'il contient est
modifié. Les événements à notifier sont précisés dans arg,
"
mais pour catcher les signaux, j'ai sigaction().
Ca te semble correct?
Avec ca, on ecrire un petit bout de code pour attendre la modif d'un
fichier et lancer une commande (en parametres)
Je vais voir
Ca veut dire qu'on peut rester en attente de l'arrivees de donnees dans le pipe?
Oui, c'est le principe d'un pipe. Si tu essayes de lire dessus le noyau te bloque jusqu'à ce qu'un autre process se mette à écrire dedans.
Pourquoi ca marcherait pas avec un fichier?
Parce que c'est comme ça. Quand ta tête de lecture est à la fin du fichier, et que tu demandes à lire, le noyau te rend la main immédiatement en te disant qu'il n'y a rien à lire.
Je ne sais pas lire un pipe nomme dans un script... tu fais comment?
Comme si c'était un fichier (la seule différence est que tu n'as pas le droit de déplacer la tête de lecture, vu qu'il n'y en a pas). Par exemple, en perl :
while (<>) { if (/motif recherché/) { action } } Ah, j'ai trouve un truc, en C:
fnctl() extrait: " F_NOTIFY (Nouveauté Linux 2.4) Fournit un avertissement lorsque le répertoire correspondant à fd ou l'un des fichiers qu'il contient est modifié. Les événements à notifier sont précisés dans arg, " mais pour catcher les signaux, j'ai sigaction(). Ca te semble correct? Avec ca, on ecrire un petit bout de code pour attendre la modif d'un fichier et lancer une commande (en parametres) Je vais voir
Nicolas George
Zeyes wrote in message <46221c3e$0$27388$:
Ah, j'ai trouve un truc, en C: fnctl() extrait: " F_NOTIFY (Nouveauté Linux 2.4) Fournit un avertissement lorsque le répertoire correspondant à fd ou l'un des fichiers qu'il contient est modifié. Les événements à notifier sont précisés dans arg, " mais pour catcher les signaux, j'ai sigaction(). Ca te semble correct?
Non, absolument rien à voir. Relis le message de Luc.
Zeyes wrote in message <46221c3e$0$27388$ba4acef3@news.orange.fr>:
Ah, j'ai trouve un truc, en C:
fnctl()
extrait:
"
F_NOTIFY
(Nouveauté Linux 2.4) Fournit un avertissement lorsque le
répertoire correspondant à fd ou l'un des fichiers qu'il contient est
modifié. Les événements à notifier sont précisés dans arg,
"
mais pour catcher les signaux, j'ai sigaction().
Ca te semble correct?
Non, absolument rien à voir. Relis le message de Luc.
Ah, j'ai trouve un truc, en C: fnctl() extrait: " F_NOTIFY (Nouveauté Linux 2.4) Fournit un avertissement lorsque le répertoire correspondant à fd ou l'un des fichiers qu'il contient est modifié. Les événements à notifier sont précisés dans arg, " mais pour catcher les signaux, j'ai sigaction(). Ca te semble correct?
Non, absolument rien à voir. Relis le message de Luc.
Nicolas George
Zeyes wrote in message <46220fda$0$5086$:
Mais y'aurait pas un module du noyeau qui permettrait de hooker le fwrite
Aucune chance, le noyau n'a rien à voir avec fwrite.
pour surveiller une liste de fichiers (dans /etc/truc.conf), et de lancer une action? Ca serait plus cool que de faire une surveillance par iterations
Il y a inotify pour surveiller des fichiers, mais c'est absolument hors sujet ici.
Zeyes wrote in message <46220fda$0$5086$ba4acef3@news.orange.fr>:
Mais y'aurait pas un module du noyeau qui permettrait de hooker le
fwrite
Aucune chance, le noyau n'a rien à voir avec fwrite.
pour surveiller une liste de fichiers (dans /etc/truc.conf), et
de lancer une action?
Ca serait plus cool que de faire une surveillance par iterations
Il y a inotify pour surveiller des fichiers, mais c'est absolument hors
sujet ici.
Mais y'aurait pas un module du noyeau qui permettrait de hooker le fwrite
Aucune chance, le noyau n'a rien à voir avec fwrite.
pour surveiller une liste de fichiers (dans /etc/truc.conf), et de lancer une action? Ca serait plus cool que de faire une surveillance par iterations
Il y a inotify pour surveiller des fichiers, mais c'est absolument hors sujet ici.
Zeyes
Zeyes wrote in message <46221c3e$0$27388$:
Ah, j'ai trouve un truc, en C: fnctl() extrait: " F_NOTIFY (Nouveauté Linux 2.4) Fournit un avertissement lorsque le répertoire correspondant à fd ou l'un des fichiers qu'il contient est modifié. Les événements à notifier sont précisés dans arg, " mais pour catcher les signaux, j'ai sigaction(). Ca te semble correct?
Non, absolument rien à voir. Relis le message de Luc. Ben j'essaye quand meme... mais j'ai des pb de compilation....
Eh mais au fait ma ligne tail -f fichier.log | gawk '/toto/ { print "coucou" }' Marcherais pas? Pourquoi? Ca mange pas trop de cpu tail -F ?
Zeyes wrote in message <46221c3e$0$27388$ba4acef3@news.orange.fr>:
Ah, j'ai trouve un truc, en C:
fnctl()
extrait:
"
F_NOTIFY
(Nouveauté Linux 2.4) Fournit un avertissement lorsque le
répertoire correspondant à fd ou l'un des fichiers qu'il contient est
modifié. Les événements à notifier sont précisés dans arg,
"
mais pour catcher les signaux, j'ai sigaction().
Ca te semble correct?
Non, absolument rien à voir. Relis le message de Luc.
Ben j'essaye quand meme... mais j'ai des pb de compilation....
Eh mais au fait ma ligne
tail -f fichier.log | gawk '/toto/ { print "coucou" }'
Marcherais pas?
Pourquoi?
Ca mange pas trop de cpu tail -F ?
Ah, j'ai trouve un truc, en C: fnctl() extrait: " F_NOTIFY (Nouveauté Linux 2.4) Fournit un avertissement lorsque le répertoire correspondant à fd ou l'un des fichiers qu'il contient est modifié. Les événements à notifier sont précisés dans arg, " mais pour catcher les signaux, j'ai sigaction(). Ca te semble correct?
Non, absolument rien à voir. Relis le message de Luc. Ben j'essaye quand meme... mais j'ai des pb de compilation....
Eh mais au fait ma ligne tail -f fichier.log | gawk '/toto/ { print "coucou" }' Marcherais pas? Pourquoi? Ca mange pas trop de cpu tail -F ?
Zeyes
Zeyes wrote in message <46220fda$0$5086$:
Mais y'aurait pas un module du noyeau qui permettrait de hooker le fwrite
Aucune chance, le noyau n'a rien à voir avec fwrite. Ben on passe bien, a un moment ou un autre par un point commun lors
d'une ecriture dans un truc (pipe, fichier...), non?
pour surveiller une liste de fichiers (dans /etc/truc.conf), et de lancer une action? Ca serait plus cool que de faire une surveillance par iterations
Il y a inotify pour surveiller des fichiers, mais c'est absolument hors sujet ici. Ben il me semblait qu'avant de voir si une ligne speciale est arrivee
dans le log, il faut qu'il ait ete modifie, et donc, qu'on soit prevenu.
Zeyes wrote in message <46220fda$0$5086$ba4acef3@news.orange.fr>:
Mais y'aurait pas un module du noyeau qui permettrait de hooker le
fwrite
Aucune chance, le noyau n'a rien à voir avec fwrite.
Ben on passe bien, a un moment ou un autre par un point commun lors
d'une ecriture dans un truc (pipe, fichier...), non?
pour surveiller une liste de fichiers (dans /etc/truc.conf), et
de lancer une action?
Ca serait plus cool que de faire une surveillance par iterations
Il y a inotify pour surveiller des fichiers, mais c'est absolument hors
sujet ici.
Ben il me semblait qu'avant de voir si une ligne speciale est arrivee
dans le log, il faut qu'il ait ete modifie, et donc, qu'on soit prevenu.
Mais y'aurait pas un module du noyeau qui permettrait de hooker le fwrite
Aucune chance, le noyau n'a rien à voir avec fwrite. Ben on passe bien, a un moment ou un autre par un point commun lors
d'une ecriture dans un truc (pipe, fichier...), non?
pour surveiller une liste de fichiers (dans /etc/truc.conf), et de lancer une action? Ca serait plus cool que de faire une surveillance par iterations
Il y a inotify pour surveiller des fichiers, mais c'est absolument hors sujet ici. Ben il me semblait qu'avant de voir si une ligne speciale est arrivee
dans le log, il faut qu'il ait ete modifie, et donc, qu'on soit prevenu.
Nicolas George
Zeyes wrote in message <46224768$0$25922$:
Ben on passe bien, a un moment ou un autre par un point commun lors d'une ecriture dans un truc (pipe, fichier...), non?
Oui, mais ce n'est pas fwrite. Ton problème, c'est que tu essaies d'employer des notions qui sont au delà de ton niveau. Forcément, tu te plantes. Restes-en à ce que tu sais, n'emploie pas du vocabulaire dont tu ne connais le sens qu'approximativement, n'essaie pas de programmer fcntl avant de savoir faire un hello world, et tout ira mieux.
Ben il me semblait qu'avant de voir si une ligne speciale est arrivee dans le log, il faut qu'il ait ete modifie, et donc, qu'on soit prevenu.
C'est à ça que servent les pipes, justement.
Zeyes wrote in message <46224768$0$25922$ba4acef3@news.orange.fr>:
Ben on passe bien, a un moment ou un autre par un point commun lors
d'une ecriture dans un truc (pipe, fichier...), non?
Oui, mais ce n'est pas fwrite. Ton problème, c'est que tu essaies d'employer
des notions qui sont au delà de ton niveau. Forcément, tu te plantes.
Restes-en à ce que tu sais, n'emploie pas du vocabulaire dont tu ne connais
le sens qu'approximativement, n'essaie pas de programmer fcntl avant de
savoir faire un hello world, et tout ira mieux.
Ben il me semblait qu'avant de voir si une ligne speciale est arrivee
dans le log, il faut qu'il ait ete modifie, et donc, qu'on soit prevenu.
Ben on passe bien, a un moment ou un autre par un point commun lors d'une ecriture dans un truc (pipe, fichier...), non?
Oui, mais ce n'est pas fwrite. Ton problème, c'est que tu essaies d'employer des notions qui sont au delà de ton niveau. Forcément, tu te plantes. Restes-en à ce que tu sais, n'emploie pas du vocabulaire dont tu ne connais le sens qu'approximativement, n'essaie pas de programmer fcntl avant de savoir faire un hello world, et tout ira mieux.
Ben il me semblait qu'avant de voir si une ligne speciale est arrivee dans le log, il faut qu'il ait ete modifie, et donc, qu'on soit prevenu.