Pipe tail et wall
Résolu
Ovopack
-
Ovopack -
Ovopack -
Bonjour à tous!
Je n'arrive pas à faire un pipe correct d'un tail -f sur une commande wall pour l'afficher en broadcast :
La commande wall ne recoit apparement rien dans stdin...
Pour ceux qu'ils auront compris, c'est pour afficher en broadcast toutes les authentifications au server.
Quelqu'un aurait une idée?
Merci!
Je n'arrive pas à faire un pipe correct d'un tail -f sur une commande wall pour l'afficher en broadcast :
tail -f /var/log/auth.log | grep --line-buffered -v disconnected | grep --line-buffered -v pam | grep --line-buffered -v su | wall
La commande wall ne recoit apparement rien dans stdin...
Pour ceux qu'ils auront compris, c'est pour afficher en broadcast toutes les authentifications au server.
Quelqu'un aurait une idée?
Merci!
7 réponses
-
hello
ces commandes produisent bien un message ?tail -f /var/log/auth.log | grep --line-buffered -v disconnected | grep --line-buffered -v pam | grep --line-buffered -v su
essayer sans --line-buffered -
Hello,
Oui j'ai déjà essayé ta commande pour vérifier si les pipes fonctionnaient bien :
Je vois bien la sortie de tail comme ca mais ca ne fonctionne pas quand je rajoute le wall.
echo "test" | wall
Me retourne bien le broadcast...
J'ai essayé sans les --line-buffered mais c'est surement pire car sans cet arg, le premier grep met en mémoire tampon et les suivants ne recoivent rien.
wall attends peut être la fin de la commande tail pour broadcaster....?
Du coup j'ai tenté un pipe intermédaire (....) | xargs echo | wall
Mais non! -
tail -f ne rend pas la main, donc wall attend
-
pourtant les grep fonctionnent... mais eux n'attendent peut être pas le fin de tail.
une idée pour contourné? une option de tail? un équivalent, une astuce? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ca fonctionne!
Juste une dernière modif :
nohup tail -f /var/log/auth.log | egrep --line-buffered -v "disconnected|pam|su|closed" | while read l; do echo $l | wall -n ;done &
Et voila, je mettrai dans /etc/rc.local .
Je vais faire de meme pour /var/log/message pour broadcaster les logs d'iptables
Merci beacoup! A++! -
Curieux,
la commande :
nohup tail -f /var/log/auth.log | egrep --line-buffered -v "disconnected|pam|su|closed" | while read l; do echo $l | wall -n ;done > /dev/null &
Fonctionne bien en ligne de commande, mais dans le rc.local, après redémarrage. rien :'(
Je vais essayer de trouver -
Problème résolu, il y avait une commande qui ne fonctionnait pas dans mon rc.local et qui terminait le script!