Existe alguma maneira de 'cat' dois streams 'tail -f' remotos via SSH?

5

Eu queria combinar dois fluxos de texto contínuos gerados por tail -f em um e assisti-los na mesma tela. É possível? Os dois fluxos de texto são orientados por linha (por exemplo, logs), se isso ajudar.

Atualização: só para deixar claro, os dois tail -f não estão em arquivos locais, mas em duas sessões remotas do SSH, por exemplo, ssh remote-host tail -f file.log

    
por Riobard 17.06.2013 / 13:01

4 respostas

8

tail suporta vários arquivos, por exemplo:

tail -q -f file1 file2
    
por 17.06.2013 / 13:13
4

Se você quiser apenas assistir as linhas de log e não precisar dos dados depois, por que não:

ssh host1 tail -f file & ssh host2 tail -f file &

Para realizar o que você diz no comentário, se você tiver o comando pee (moreutils):

pee 'ssh host1 tail -f file' 'ssh host2 tail -f file' < /dev/null
    
por 20.06.2013 / 10:17
2

A maneira rápida e suja que vem à mente é direcionar cada arquivo de log em cada máquina remota e redirecioná-los para arquivos temporários localmente. Então, siga os dois logs com o método golimar sugerido .

  1. ssh usuário @ host1 -C cauda -f / caminho / para / log > > /tmp/log1.tmp
  2. ssh usuario @ host2 -C cauda -f / caminho / para / log > > /tmp/log2.tmp
  3. tail -q -f /tmp/log1.tmp /tmp/log2.tmp

Não é bonito, requer manter dados locais e requer que os primeiros 2 comandos sejam executados em background (ou executados em screen ou similar), mas ele deve executar o trabalho!

    
por 19.06.2013 / 18:32
1

Você pode fazer o checkout no registro do local.

Uma ferramenta Java que criei, capaz de ler arquivos de log locais e distantes usando o SSH. É bastante simples de usar.

Mais algumas explicações: link

Basta fazer o download da versão correspondente ao seu sistema operacional, do executável nativo do release jar em seu Java Runtime (requer java 8_40 ou superior):

link

Você pode encontrar uma documentação completa (incorporada com e na página do Github também)

    
por 20.01.2018 / 17:59

Tags