Postfix - escreve o log do conteúdo específico do mailId e o remove

0

Eu preciso escrever um arquivo de log que contenha todo o conteúdo de e-mail do ID de e-mail específico da fila de e-mail.

Eu escrevi o código abaixo que será mostrado em todo o mailID.

mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+'hostname'+'$/ { print $1 }'

exemplo: meu nome de host como test.com a consulta acima mostrará o ID da fila de todos os emails do [email protected]

Resultado: assim

295E36A10B7
270986A1407
26F296A1460
9099D6A02F8

mas tentarei a seguinte consulta para mostrar o conteúdo do ID do fila de mensagens. Isso não está funcionando.

for i in mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+'hostname'+'$/ { print $1 }' ; do postcat -q $i >> maillog.log; postsuper -d $i; done ; 

isso não funciona. você poderia, por favor, dar uma idéia para mostrar todo o conteúdo do e-mail?

    
por Sathiya saravana Babu 20.10.2016 / 14:43

1 resposta

0

Finalmente eu tentei a solução abaixo. Isso está funcionando bem.

array=($(mailq | tail -n +2 | awk 'BEGIN { RS = "" } / root@'+'hostname'+'$/ { print $1 }'));
for i in ${array[@]}; 
do 
postcat -q $i >> maillog.log;
 postsuper -d $i; 
done
    
por 20.10.2016 / 15:09

Tags