Via la ligne de commande, j'ai un fichier journal dont je voudrais garder la trace.
Ce que je veux, c'est d'avoir, fondamentalement, un tailqui s'actualise lorsque le journal est mis à jour, ce qui fait défiler le texte vers le haut lorsque de nouvelles lignes sont ajoutées au fichier journal.
Y a-t-il quelque chose qui fait cela sans avoir à écrire du code?
-f, --follow [= {nom | descripteur}] affiche les données ajoutées au fur et à mesure de la croissance du fichier; -f, --follow et --follow = les descripteurs sont équivalents
Ainsi, si vous tapez:
tail -f [path_and_name_of_logfile] - vous verrez la sortie dans le terminal lorsque le fichier journal lui-même est ajouté.
NB [path_and_name_of_logfile]est le paramètre, donc pour donner un exemple:
tail -f /var/log/messages
Si vous combinez avec l' -n [number_of_lines]option, vous pouvez démarrer la sortie à partir du dernier [nombre_de_lignes] du fichier - par exemple
tail -n 10 -f /var/log/Xorg.0.log
Certains programmes changeront périodiquement leur fichier journal, en déplaçant l'ancien vers un nouveau nom (par exemple log.0) et en recommençant.
NB logrotate le fait pour enregistrer des fichiers pour d'autres programmes qui ne le font pas eux-mêmes.
tail -f continuera de suivre l'ancien fichier après son changement de nom.
tail -F suivra le fichier par son nom, donc basculera pour suivre le nouveau fichier.
les deux réponses sont parfaites ... ne réalisaient pas que Tail avait cette option. vous obtenez le chèque pour les informations supplémentaires.
WernerCD
En passant, il existe également quelques scripts impressionnants pour coloriser votre journal de résidus. un exemple qui me vient à l'esprit est colorize.pl, et vous y parvenez en le passant par le script colorize. par exemple: tail -f / var / log / messages | /home/me/colorize.pl
lazyPower
@lazyPower Nice aussi. Je vais devoir bricoler avec ça, même si je ne pense pas que ce sera super utile dans ma situation actuelle.
WernerCD
18
Bien que ce tailsoit certainement la façon habituelle de le faire, il convient de noter qu'il lessa la même fonctionnalité et est parfois plus utile.
Si vous avez ouvert un fichier avec, lessvous pouvez appuyer sur Shift+ Fpour le faire suivre le fichier (c'est-à-dire qu'il affichera de nouvelles lignes, tout comme tail -f). Vous pouvez quitter ce mode avec Ctrl+C
Vous pouvez également commencer lessavec l' +Foption, auquel cas elle démarrera dans ce mode. D'une manière générale, il +peut être utilisé pour donner des "commandes clavier" lessauxquelles il s'exécutera au démarrage.
L'utilisation lessde ceci a l'avantage que vous pouvez facilement rechercher le fichier ou afficher d'autres zones si le besoin s'en fait sentir. Je l'ai souvent fait avec des fichiers journaux, par exemple.
Jamais entendu parler de "suivre" (plus, moins, queue, chat). Bon à savoir.
WernerCD
1
D'accord. Je préfère de beaucoup moins. Ctrl-C arrêtera le défilement lorsque vous repérerez quelque chose d'intéressant, puis b pour revenir en arrière ou f en avant et / ou? pour rechercher en avant ou en arrière. g vous amènera au début du fichier et G à la fin. Tout ce dont vous avez besoin.
tail a deux implémentations pour suivre et produire des données qui sont ajoutées à un fichier
suivre le descripteur de fichier
suivre un dossier avec un certain nom
Avec le paramètre -f, --followet --follow=descriptor, tailsuit le descripteur de fichier. Cette méthode permet de suivre le fichier à travers un changement de nom mais le suivi s'arrête lorsque le fichier est tourné (un nouveau fichier est créé avec un descripteur de fichier différent).
Lorsque vous suivez des fichiers qui tournent, utilisez --follow=nameou un -Fparamètre égal à --follow=name --retry. De cette façon tail, vous rouvrirez périodiquement le fichier pour surmonter la rotation possible.
Il fait la même chose de coloriser. Vous pouvez regarder le journal défiler vers le bas, mais il est plus facile à lire, car les lignes sont imprimées avec des couleurs (erreurs en rouge, etc.). Vous pouvez l'essayer rapidement avec quelque chose comme ceci:
Bien que ce
tail
soit certainement la façon habituelle de le faire, il convient de noter qu'illess
a la même fonctionnalité et est parfois plus utile.Si vous avez ouvert un fichier avec,
less
vous pouvez appuyer sur Shift+ Fpour le faire suivre le fichier (c'est-à-dire qu'il affichera de nouvelles lignes, tout commetail -f
). Vous pouvez quitter ce mode avec Ctrl+CVous pouvez également commencer
less
avec l'+F
option, auquel cas elle démarrera dans ce mode. D'une manière générale, il+
peut être utilisé pour donner des "commandes clavier"less
auxquelles il s'exécutera au démarrage.L'utilisation
less
de ceci a l'avantage que vous pouvez facilement rechercher le fichier ou afficher d'autres zones si le besoin s'en fait sentir. Je l'ai souvent fait avec des fichiers journaux, par exemple.la source
Est-ce que
fais ce que tu veux?
la source
tail
a deux implémentations pour suivre et produire des données qui sont ajoutées à un fichierAvec le paramètre
-f
,--follow
et--follow=descriptor
,tail
suit le descripteur de fichier. Cette méthode permet de suivre le fichier à travers un changement de nom mais le suivi s'arrête lorsque le fichier est tourné (un nouveau fichier est créé avec un descripteur de fichier différent).Lorsque vous suivez des fichiers qui tournent, utilisez
--follow=name
ou un-F
paramètre égal à--follow=name --retry
. De cette façontail
, vous rouvrirez périodiquement le fichier pour surmonter la rotation possible.la source
Je pense que ccze est le bon outil pour vous.
Il fait la même chose de coloriser. Vous pouvez regarder le journal défiler vers le bas, mais il est plus facile à lire, car les lignes sont imprimées avec des couleurs (erreurs en rouge, etc.). Vous pouvez l'essayer rapidement avec quelque chose comme ceci:
la source