Eu tenho um aplicativo da web que gera um número de arquivos de log com informações de desempenho. Um arquivo de log gera tempos de execução de código e outro gera tempos de SQL. Não tenho controle sobre o criador de logs ou o código que produz os arquivos de log, mas quero gerar os logs em um único local.
Atualmente estou fazendo algo parecido com isto
tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time
Isso gera algo para o console toda vez que um SQL é executado no aplicativo. Mas eu tenho que executar o código em duas sessões SSH separadas. No entanto, o que eu quero ser capaz de ajustar os dois arquivos, na mesma sessão SSH. Isso é possível?
Dê uma olhada no MultiTail . É seu amigo.
Você pode ter várias caudas de log em
http://www.vanheusden.com/multitail/
No Ubuntu 10.04:
sudo apt-get install multitail
fonte
Sim, usando o
screen
comando, você pode ter 2 sessões bash em execução em um terminal.screen
para começar,Ctrl-a
, em seguida,S
(NOTA: S maiúsculo) para dividir a tela em duas.Ctrl-a
entãoTab
você o moverá entre as duas sessões.Ctrl-a
entãoc
iniciará um shell nessa nova região.(Por favor, veja a resposta de Riccardo antes de usar isso, ele é muito mais simples, deixarei isso como pode ser útil para pessoas com problemas semelhantes, mas diferentes).
fonte
Você pode usar o mkfifo para multiplexar a saída em um pipe
crie um cachimbo fifo, arraste n arquivos para o cachimbo e depois cat
quando terminado
fonte
tail fileN >> pipeName
.