Bonjour,
Je suis en train de réaliser un script avec inotifywait…
J'aimerais etre avisé lorsque inotifywait est bien chargé ex:
inotifywait -m -r -e create,modify --fromfile /tmp/FILE_TO_CHECK --format %w%f|%e
Setting up watches. Beware: since -r was given, this may take a while!
**Watches established.
C'est la chaine "Watches established" que je veux récupérer…
Pour cela je veux rediriger le canal qui envoi ce message UNIQUEMENT… en effet dans mon script mon inotifywait redirige deja la sortie standard vers une boucle while pour declencher des actions lors de la création de fichiers (ca marche au top!) :D
Je ne comprend pas pourquoi inotifywait renvoit ce message en console mais celui-ci n est pas récupérable que ce soit par stdout ou stderr:
ex:
inotifywait -m -r -e create,modify --fromfile /usr/local/maldetect/tmp/FILE_TO_CHECK --format %w%f|%e
Watches established.
# cat /tmp/prout
#
inotifywait -m -r -e create,modify --fromfile /usr/local/maldetect/tmp/FILE_TO_CHECK --format %w%f|%e 2>/tmp/prout
Watches established.
# cat /tmp/prout
#
inotifywait -m -r -e create,modify --fromfile /usr/local/maldetect/tmp/FILE_TO_CHECK --format %w%f|%e 2>&1 >/tmp/prout
Watches established.
# cat /tmp/prout
#
Le code source de inotifywait :
https://github.com/rvoicilas/inotify-tools/blob/master/src/inotifywait.c
indique:
if ( !quiet ) {
output_error( syslog, "Watches established.\n" );
Hors je ne vois rien dans les logs syslogs… et je ne comprend pas pourquoi je ne peux pas récupérer cette $!**U chaine :)
Si vous avez des idées en passant…
Merci
# Les pipes, ça vient de Saint Claude
Posté par Kerro . Évalué à 2.
Tu es sûr que tu as copié/collé le bon code ?
Car le « | » vers la fin de ta ligne me semble étrange. Tu devrais avoir un message d'erreur expliquant que %e n'est pas une commande connue.
[^] # Re: Les pipes, ça vient de Saint Claude
Posté par ratw3 . Évalué à 1.
elo, oui j ai bien ce message je l ai pa copy/paste j ai d ailleurs pas copier tt la ligne qui fait 1km avec les exclude :)
[^] # Re: Les pipes, ça vient de Saint Claude
Posté par NeoX . Évalué à 4.
alors voila pourquoi tu ne recuperes rien.
le STDERR (2>) de inotify ne traverse par le pipe (|)
si tu dois garder le pipe, il faut faire la redirection avant
genre
[^] # Re: Les pipes, ça vient de Saint Claude
Posté par Kerro . Évalué à 3.
Heu nan Neox tu t'emmêles, le « | » fait partie des paramètres :-)
Ça me semble étrange comme syntaxe mais pourquoi pas.
.
Il faut mettre des guillemets simples ou doubles : --format '%w%f|%e'
Avec ça ta redirection devrait fonctionner.
.
Afficher les messages, c'est un peu la base pour se faire aider.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.