Necessita de ajuda para grepping log de postfix

3

Estou tentando pesquisar uma string desconhecida (Message ID) em um log com base em uma string conhecida (endereço do destinatário) e, em seguida, grep a string desconhecida para gerar todas as informações de log relevantes. Eu sou capaz de usar grep e cortar a saída da (s) cadeia (s) desconhecida (s), mas a partir daí eu estou perplexa em passar isso para grep. Eu usei um pipe para xargs grep e isso não está produzindo a saída que estou procurando. Aqui está o comando que estou usando para grep e cut:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6

Isso produz a saída de todas as strings desconhecidas para mensagens processadas pelo Postfix para o endereço de email. Quando eu pipe para xargs eu recebo "grep:: No tal arquivo ou diretório:

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | xargs grep /var/log/maillog

Obrigado pela sua ajuda.

    
por uxphreak 25.08.2014 / 21:45

2 respostas

4

Estou brincando um pouco com meus próprios registros de e-mail. Experimente

grep 'to=<emailaddress' /var/log/maillog | cut -d ' ' -f 6 | grep -f - /var/log/maillog

O -f - lerá a lista de strings para procurar por stdin.

    
por 25.08.2014 / 22:06
1

Eu escrevi um script perl que permite que você faça qualquer informação do log que você quiser e imprimirá todas as linhas com o mesmo id de fila (com uma passagem através do arquivo e sem limitação de tamanho de arquivo):

link

    
por 15.10.2016 / 16:25