E-mails de entrada in-box em massa gerenciados pelo POSTFIX

2

Teve um problema há várias horas com uma conta de e-mail do cliente, que foi comprometida. Como resultado, ele tinha centenas de milhares de spam em fila no postfix, o que levou a vários problemas. Tudo está consertado e a segurança está amarrada, além de um problema "pequeno": o cliente agora tem quase 100 mil e-mails de spam retornados em sua caixa de entrada. E obviamente, estou procurando uma operação em massa com alguma filtragem, pois tudo não é lixo. O PF roda no servidor Ubuntu v10.x, com maildir.

Eu tentei este comando em uma pasta de backup que contém os mesmos arquivos:

grep -l -r 'Undelivered' | xargs rm

Mas não parece fazer nada além de ser executado.

Isso pode vir do fato de que todos os "mails" são armazenados dentro de arquivos assim chamados:

1395063807.V902Ib2081dM533672.ip.ip.ip:2,

    
por shroom 17.03.2014 / 17:36

1 resposta

1

Dependendo da sua versão de grep , isso pode esperar para sempre porque você não deu um nome de arquivo (ou diretório) como argumento; O comportamento de grep para usar o diretório de trabalho atual quando -r é especificado é um recurso bastante novo. Assim, se a sua versão for mais antiga, essa sua chamada poderá aguardar para sempre a entrada em stdin . Basta adicionar . como último argumento a grep para evitar este caso.

Para evitar problemas com nomes de arquivos (o que não deve ser um problema neste caso), seria mais seguro chamar

grep -Zl -r 'Undelivered' . | xargs -0 rm --

Dessa forma, grep exibe os nomes de arquivos correspondentes de zero bytes ( '--' ) separados, o que evita problemas com espaços e similares em nomes de arquivos. rm informa - para não tratar os argumentos a seguir como opções, ou seja, se um nome de arquivo começar com -v , ele não será quebrado.

Para ver se esse comando faz alguma coisa, você pode adicionar a opção rm a rm , para ver se -- realmente remove algo (na frente de %code% , é claro).

    
por 17.03.2014 / 17:44