Mesclar padrão em e arquivo de log para saída padrão

1

Estou procurando um comando ou um script bash que possa executar o seguinte:

Ouseja:euqueroum"supermerge" para mesclar o padrão no fluxo com conteúdo escrito continuamente para um arquivo de log (var / log / messages neste exemplo). O resultado deve ser escrito como padrão.

O motivo é verificar algumas mensagens de erro e essas mensagens podem ser gravadas em um arquivo de log e no padrão.

Por exemplo:

my_strange_program /var/log/messages | supermerge /var/log/messages | my_log_scanner
  • my_strange_program pode enviar erros para o padrão e o arquivo de log.
  • supermerge - o script que estou procurando
  • my_log_scanner um programa que procura por mensagens de erro (eu já entendi)

Nota: Os arquivos de log podem girar: mensagens, mensagens.1, mensagens.2 etc. Portanto, não é possível apenas tail do arquivo, já que ele pode ser renomeado.

    
por Lennart Schedin 06.09.2010 / 13:58

2 respostas

1

Tente isto:

my_strange_program /var/log/messages > /tmp/tmpfile | tail -F /var/log/messages /tmp/tmpfile | my_log_scanner
    
por 06.09.2010 / 18:58
0

Existe uma ferramenta chamada multitee. Parece a coisa que você está procurando. Tentei descobrir como funciona, mas não obtive resultados de trabalho

Outra ideia é usar multitail, se for suficiente para obter a mesclagem na tela

multitail -f /var/log/syslog -L "ping 4.2.2.1" 
    
por 06.09.2010 / 16:13