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]

Responder a