1 votes

Comment surveiller un fichier log croissant pour une chaîne de caractères spécifique et imprimer la ligne sur le terminal en temps réel ?

Par exemple. J'ai nohup.out.log qui s'enrichit au fil du temps. Je veux surveiller ce fichier et vérifier si la chaîne de caractères test error se produit dans ce fichier et imprime les lignes correspondantes dans le terminal ou dans un autre fichier tel que error.log en temps réel. Merci d'avance.

2voto

Rinzwind Points 270388

Allez dans le répertoire qui contient nohup.out.log et faire...

/usr/bin/tail -f nohup.out.log | grep "test error" > error.log 

et il attendra que l'"erreur de test" se produise.

Voir queue d'homme pour plus d'options.

1voto

Artur Meinild Points 5704

lnav est un très bon explorateur de fichiers journaux pour le terminal, avec des fonctions de filtrage, de mise en évidence de la syntaxe, etc.

Si vous avez le universe activé, il peut être installé avec :

sudo apt install lnav

Pour l'utiliser avec un fichier journal spécifique, exécutez :

lnav /path/to/nohup.out.log

Pour configurer un filtre, appuyez sur Tab , i . Tapez ensuite la chaîne de caractères test error et de frapper Enter .

Désormais, seules les lignes de journal contenant cette chaîne sont affichées.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X