J'ai une application Web qui génère un certain nombre de fichiers journaux avec des informations sur les performances. Un fichier journal génère des temps d'exécution de code et un autre génère des temporisations SQL. Je n'ai aucun contrôle sur l'enregistreur ou sur le code qui produit les fichiers journaux, mais je souhaite afficher les journaux au même endroit.
Actuellement, je fais quelque chose comme ça
tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time
Cela renvoie quelque chose à la console chaque fois qu'un SQL est exécuté dans l'application. Mais je dois exécuter le code dans deux sessions SSH distinctes. Cependant, ce que je veux pouvoir tailler les deux fichiers, dans la même session SSH. Est-ce possible?
Jetez un œil à MultiTail . C'est ton ami.
Vous pouvez avoir les multiples queues de journal dans
http://www.vanheusden.com/multitail/
Sur Ubuntu 10.04:
sudo apt-get install multitail
la source
Oui, en utilisant la
screen
commande, vous pouvez avoir 2 sessions bash en cours d'exécution sur un terminal.screen
pour commencer,Ctrl-a
ensuiteS
(NOTE: majuscule S) pour diviser l'écran en 2.Ctrl-a
puis vousTab
fera passer entre les deux sessions.Ctrl-a
puisc
démarrera un shell dans cette nouvelle région.(Veuillez consulter la réponse de Riccardo avant de l'utiliser, la sienne est beaucoup plus simple, je vais laisser cela de côté car cela peut être utile pour les personnes ayant des problèmes similaires mais différents).
la source
Vous pouvez utiliser mkfifo pour multiplexer la sortie vers un tube
créer un tuyau fifo, queue n fichiers au tuyau, puis cat le tuyau
Une fois terminé
la source
tail fileN >> pipeName
.