Olá Fabiano,
Não sei se estou transcrevendo algo errado, mas ao executar o script me aparece a mensagem abaixo [EMAIL PROTECTED]:~# find /var/lib/amavis/virusmails/ -type f |xargs /usr/local/bin/testespam.sh /usr/local/bin/testespam.sh: line 3: [: o: integer expression expected Juro também que pouco entendi do script mas repassei conforme abaixo. Espero que voce possa me ajudar. Obrigado. #!/bin/bash while [ $# -gt o ];do email=$(grep X-Envelope-To $1 |sed 's/^.*<\([^>]*\)>/\1/') target=/home/vmail/[EMAIL PROTECTED]/[EMAIL PROTECTED]/.Quarentena echo mkdir -p $target echo mv $1 $target shift done _____ De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de Fabiano Caixeta Duarte Enviada em: terça-feira, 21 de outubro de 2008 17:41 Para: [email protected] Assunto: Re: [shell-script] Mover resultado do filtro para pasta de destino 2008/10/19 Alan Testoni <alan_testoni@ <mailto:alan_testoni%40yahoo.com.br> yahoo.com.br> > Olá Fabiano, agradeço a força por tentar ajudar. > > Os textos de origem são as mensagens de spam armazenadas pelo amavis-new > com o conteudo na forma do exemplo abaixo: > > Return-Path: <[EMAIL PROTECTED] <mailto:mtbiaoqjc%40bleakwail.com> .com> > Delivered-To: spam-quarantine > X-Envelope-From: <[EMAIL PROTECTED] <mailto:mtbiaoqjc%40bleakwail.com> .com> > X-Envelope-To: <[EMAIL PROTECTED] <mailto:financeiro%40dominio.com.br> com.br> > X-Quarantine-ID: <fZZJZyY+3sYx> > X-Spam-Flag: YES > X-Spam-Score: 19.207 > X-Spam-Level: ******************* > > O que preciso é que um script consiga ler todos os arquivos de > mensagem identificando o resultado do campo "X-Envelope-To:" Se for como > nesse exemplo pro [EMAIL PROTECTED] <mailto:financeiro%40dominio.com.br> com.br então o script moverá a > mensagem para a pasta "/home/vmail/dominio.com.br/financeiro/.Quarentena". > Se o campo tivesse [EMAIL PROTECTED] <mailto:alan%40dellap.com.br> com.br > então o script moveria a mensagem > para a pasta "/home/vmail/dominio.com.br/alan/.Quarentena" e assim com > todas as outras mensagens que estão no diretório padrão de repositório de > spam do Amavis-new, que é o "/var/lib/amavis/virusmail" > > Espero ter conseguido explicar. > > > --- Em sáb, 18/10/08, Fabiano Caixeta Duarte <[EMAIL PROTECTED] <mailto:fcd.listas%40gmail.com> com> > escreveu: > > De: Fabiano Caixeta Duarte <[EMAIL PROTECTED] <mailto:fcd.listas%40gmail.com> com> > Assunto: Re: [shell-script] Mover resultado do filtro para pasta de destino > Para: shell-script@ <mailto:shell-script%40yahoogrupos.com.br> yahoogrupos.com.br > Data: Sábado, 18 de Outubro de 2008, 23:31 > > > > > > > 2008/10/18 Alan <alan_testoni@ yahoo.com. br> > > > > > > > Fabiano obrigado por tentar me ajudar mas como como devo usar isto? Não > > entendi sua ajuda. > > > > > > > > > > > > _____ > > > > > > > > > > > Isto deve te ajudar: > > > > email=fulano@ dominio.com. br; echo [EMAIL PROTECTED]/ ${email%@ *} > > dominio.com. br/fulano > > > > -- > > > > #find /var/lib/amavis/ virusmails/ |xargs grep -s -a -i [EMAIL PROTECTED] > > <mailto:ricardo% <ricardo%25> 40dominio. com.br <ricardo%2540domini > o.com.br> > com.br |cut > > -d: -f1 > > > > > > > > ------- Resultado da busca ------------ -- > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ d/spam-d8Pc27NNj mSB > > /var/lib/amavis/ virusmails/ d/spam-d8Pc27NNj mSB > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > É o que venho te dizendo. Mostre um exemplo do texto de origem para que > possamos te ajudar na solução. > > Pelo que vi você está usando maildir. > > No aguardo, > Alan, Não sei se você já resolveu. Só hoje consegui te responder. Vai aí um script mastigadinho ;) Só vai precisar (talvez) estudar pra entender e, eventualmente, adaptar cat quarentena.sh #!/bin/bash while [ $# -gt 0 ]; do email=$(grep X-Envelope-To $1 | sed 's/^.*<\([^>]*\)>/\1/') target=/home/vmail/[EMAIL PROTECTED]/[EMAIL PROTECTED]/.Quarentena echo mkdir -p $target echo mv $1 $target shift done Uso: find /caminho/dos/spams -type f | xargs /caminho/do/script/quarentena.sh Se funcionar, retire os echos e seja feliz ;) -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
