shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Mover resultado do filtro para pasta de destino


From: CQC
Subject: Re: [shell-script] Mover resultado do filtro para pasta de destino
Date: Wed, 22 Oct 2008 02:32:05 -0200

Alan, dando uma lida rápida percebi um erro seu de digitação.

Altere:
while [ $# -gt o ];do
Por:
while [ $# -gt 0 ];do

Não sei se o problema é esse. Mas....




2008/10/22 Alan <address@hidden>

>   Olá Fabiano,
>
> Não sei se estou transcrevendo algo errado, mas ao executar o script me
> aparece a mensagem abaixo
>
> root@astra:~# 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#*@}/${email%@*}/.Quarentena
>
> echo mkdir -p $target
>
> echo mv $1 $target
>
> shift
>
> done
>
> _____
>
> De: address@hidden <shell-script%40yahoogrupos.com.br>[mailto:
> address@hidden <shell-script%40yahoogrupos.com.br>]
> Em nome de Fabiano Caixeta Duarte
> Enviada em: terça-feira, 21 de outubro de 2008 17:41
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> 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<alan_testoni%2540yahoo.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: <mtbiaoqjc@bleakwail 
> > <mailto:mtbiaoqjc%40bleakwail.com<mtbiaoqjc%2540bleakwail.com>>
> .com>
> > Delivered-To: spam-quarantine
> > X-Envelope-From: <mtbiaoqjc@bleakwail 
> > <mailto:mtbiaoqjc%40bleakwail.com<mtbiaoqjc%2540bleakwail.com>
> >
> .com>
> > X-Envelope-To: <financeiro@dominio. 
> > <mailto:financeiro%40dominio.com.br<financeiro%2540dominio.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 financeiro@dominio. <mailto:
> financeiro%40dominio.com.br <financeiro%2540dominio.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 alan@dellap. 
> > <mailto:alan%40dellap.com.br<alan%2540dellap.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 <fcd.listas@gmail.
> <mailto:fcd.listas%40gmail.com <fcd.listas%2540gmail.com>> com>
> > escreveu:
> >
> > De: Fabiano Caixeta Duarte <fcd.listas@gmail.
> <mailto:fcd.listas%40gmail.com <fcd.listas%2540gmail.com>> com>
> > Assunto: Re: [shell-script] Mover resultado do filtro para pasta de
> destino
> > Para: shell-script@ 
> > <mailto:shell-script%40yahoogrupos.com.br<shell-script%2540yahoogrupos.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#*@}/ ${email%@ *}
> > > dominio.com. br/fulano
> > >
> > > --
> > >
> > > #find /var/lib/amavis/ virusmails/ |xargs grep -s -a -i
> ricardo@dominio.
> > > <mailto:ricardo% <ricardo%25> <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#*@}/${email%@*}/.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]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]