GNU/Linux >> Tutoriels Linux >  >> Linux

Fichier journal de queue sur plusieurs machines via ssh

Ce que vous voyez est l'effet d'un tampon stdout standard dans grep fourni par Glibc. La meilleure solution est de le désactiver en utilisant --line-buffered (GNU grep, je ne sais pas quelles autres implémentations pourraient le prendre en charge ou quelque chose de similaire).

Quant à pourquoi cela n'arrive que dans certains cas :

ssh server "tail -f /var/log/server.log | grep test"

exécute toute la commande entre guillemets sur le serveur - donc grep attend de remplir son tampon.

ssh server tail -f /var/log/server.log | grep test

exécute grep sur votre machine locale sur la sortie tail envoyé via le canal ssh.

L'élément clé ici est que grep ajuste son comportement selon que son stdin est un terminal ou non. Lorsque vous exécutez ssh -t , la commande à distance s'exécute avec un terminal de contrôle et donc la télécommande grep se comporte comme votre local.


regarde ça :multitail

MultiTail vous permet de surveiller les fichiers journaux et la sortie des commandes dans plusieurs fenêtres d'un terminal, colorier, filtrer et fusionner.

Pour suivre les journaux sur plusieurs serveurs, utilisez :

multitail -l 'ssh [email protected] "tail -f /path/to/log/file"' -l 'ssh [email protected] "tail -f /path/to/log/file"'

Linux
  1. Ssh - Problème de gestion de fichiers avec plusieurs connexions Ssh courantes ?

  2. Quel est un moyen pratique de vérifier ce qui est ajouté à un fichier journal en temps réel ?

  3. Trouver le fichier journal de Firefox ?

  4. Grep et queue -f ?

  5. Comment distribuer un téléchargement volumineux sur plusieurs ordinateurs ?

Commande Tail Linux

SSHFS :montage d'un système de fichiers distant via SSH

3 méthodes pour afficher la sortie tail -f de plusieurs fichiers journaux dans un terminal

SSH - Comment inclure la commande -t dans le fichier ~/.ssh/config

Copier les données via le tunnel SSH sur plusieurs sauts

Grep dans un énorme fichier journal (> 14 Go) uniquement les derniers x Go ?