Rum, mon rum
Je veux savoir en "temps réel" quand mon serveur apache sert une certaine image (appelée par une page html qui n'est pas servie par mon serveur), et envoyer le nom de cette image via udp en local, pour traiter cette information avec un autre logiciel qui écoute en udp sur le port 9999.
tail -f /var/log/apache2/access.log | grep -E -o "/[a-zA-Z]*.jpg"
À chaque fois que mon image est servie, grâce à la commande ci-dessus, je récupère quelque chose comme:
/image.jpg
/image.jpg
/image.jpg
Si je laisse tourner le tail -f dans mon terminal, je vois bien une occurrence supplémentaire s'ajouter à la liste quand l'image est servie.
Par la suite, je pensais simplement piper cette sortie avec nc :
tail -f /var/log/apache2/access.log | grep -E -o "/[a-zA-Z]*.jpg" | nc -u localhost 9999
Mais ça ne marche pas, mince de mince. je ne récupère rien de l'autre côté quand l'image est servie.
Rum, dis-moi, où foiré-je ?
# buffer !
Posté par sputnick (site web personnel, Mastodon) . Évalué à 3.
Salut,
j'ai ma petite idée, voir
http://mywiki.wooledge.org/BashFAQ#BashFAQ.2BAC8-009.What_is_buffering.3F__Or.2C_why_does_my_command_line_produce_no_output:_tail_-f_logfile_.7C_grep_.27foo_bar.27_.7C_awk_…
On ne peut pas mettre d'array dans le string...
[^] # Re: buffer !
Posté par netsurfeur . Évalué à 8.
L'option
--line-buffered
de grep résout le problème[^] # Re: buffer !
Posté par insert_coincoin . Évalué à 2.
Bien joué, merci, ça fonctionne !
# customlog et pipe
Posté par iznogoud . Évalué à 2.
note que tu peux aussi jouer avec les CustomLog et écrire directement dans un pipe depuis la configuration apache…
Par exemple :
LogFormat "%r" myjpg
CustomLog "| grep --line-buffered -E -o "/[a-zA-Z]*.jpg" | nc -u localhost 9999" myjpg
et voilà :)
[^] # Re: customlog et pipe
Posté par insert_coincoin . Évalué à 1. Dernière modification le 14 mars 2012 à 23:03.
Oui, j'avais entrevu cette solution, mais vu que mon bricolage doit tourner sur une machine qui n'est pas la mienne, à laquelle je n'ai pas accès, et qui en plus se trouve tourner sous OS X, j'ai préféré limiter les grosses modifs de ce genre :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.