İki günlük dosyasını kuyruğa alma


14

Performans bilgileri ile günlük dosyaları bir dizi çıktı bir web uygulaması var. Bir günlük dosyası kod yürütme sürelerini, diğeri SQL zamanlamalarını verir. Logger veya günlük dosyalarını üreten kod üzerinde hiçbir denetimim yok, ancak günlükleri tek bir yerde çıktılamak istiyorum.

Şu anda böyle bir şey yapıyorum

tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time

Bu, uygulamada her SQL yürütüldüğünde konsola bir şey çıktılar. Ancak kodu iki ayrı SSH oturumunda çalıştırmam gerekiyor. Ancak, aynı SSH oturumunda, her iki dosyayı kuyruk edebilmek istiyorum. Mümkün mü?

Yanıtlar:


20

Evet, kuyruk komut satırında verilen tüm dosyalara eklenen satırları çıkarır:

tail -F sqlLogs.log perflogs.log | egrep '(sql-time|exec-time)'

Bu benim yolumdan daha kolay! (lol, benim olmayan bir cevabı iptal ettim, merakım için benimkini bırakacağım)
Jeremy

4

MultiTail'e bir göz atın . Bu senin arkadaşın.

Birden çok günlük kuyruğuna sahip olabilirsiniz.

 - farklı pencereler, bir al vim 'split'
 - veya iki (veya N) akışı tek bir görünümde birleştirmesini ve
 - buharları normal ifadeye göre filtreleyebilirsiniz ve isterseniz
 - çıktıyı bir dosyaya 'ekleyecek'

http://www.vanheusden.com/multitail/

Ubuntu 10.04'te: sudo apt-get install multitail


2

Evet, screenkomutu kullanarak bir terminalde 2 bash oturumunuz olabilir.

  • screenBaşlamak için koş ,
  • Sonra yazın Ctrl-aardından S2 içine bir ekran bölme: (sermaye S NOT).
  • Ctrl-aDaha sonra Tabiki oturum arasında hareket etmenizi sağlar.
  • Ctrl-ao czaman bu yeni bölgede bir mermi başlatacak.

(Lütfen bunu kullanmadan önce Riccardo'nun cevabına bakın, çok daha basit, benzer ama farklı sorunları olan insanlar için yararlı olabileceğinden bunu bırakacağım).


0

Çıkışı bir boruya çoğaltmak için mkfifo kullanabilirsiniz

bir fifo boru oluşturmak, boru n kuyruk kuyruk, sonra boru kedi

 mkfifo pipeName
 tail file1 &
 tail file2 &
 ...
 tail fileN &
 cat pipeName

Bittiğinde

 rm pipeName

1
Bu aslında fifoyu kullanmaz; muhtemelen kuyruk komutlarının olmasını istersiniz tail fileN >> pipeName.
Jeremy Kerr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.