Pipe tail et wall

Résolu/Fermé
Ovopack - Modifié par Ovopack le 3/11/2015 à 06:19
 Ovopack - 3 nov. 2015 à 18:07
Bonjour à tous!

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

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 3/11/2015 à 09:57
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
0
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!
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 nov. 2015 à 11:57
tail -f ne rend pas la main, donc wall attend
0
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?
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 nov. 2015 à 12:27
essayer
defaut, un message par ligne
tail -f /var/log/auth.log | egrep --line-buffered -v "disconnected|pam|su" | while read l; do echo $l | wall ;done
0

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++!
0
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
0
Problème résolu, il y avait une commande qui ne fonctionnait pas dans mon rc.local et qui terminait le script!
0