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

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

Re: [shell-script] Re: Script SARG - Geração e exclusão de relatórios


From: Fabricio Lopes de Souza
Subject: Re: [shell-script] Re: Script SARG - Geração e exclusão de relatórios
Date: Tue, 10 Jan 2006 08:47:13 -0200

exato ,  tanto que no seu xargs pode resultar em um , list too long :)
On 1/9/06, voyeg3r <address@hidden> wrote:
> --- Em address@hidden, "Emerson Domingues Souto"
> <emerson.souto@i...> escreveu
> >
> > Boa tarde,
> >
> > vc pode usar o comando FIND que já foi largamente explicado na
> lista, segue um exemplo simples:
> >
> > # deleta arquivos com data de ultima modificacao maior que 5 dias
> > find . -name "*.txt" -mtime +5 -prune -exec rm -f {} \;
>
> Usar o "xargs" ao invés de "-exec rm -f {} \;"
>
> ==============
> VEJA O MOTIVO
> ==============
> fonte: http://www.dicas-l.com.br/dicas-l/19970821.php
>
> Qual a diferença entre os comandos abaixo?
>
>   % find . -user queiroz  -exec ls {} \;
>   % find . -user queiroz -print | xargs ls
>
> A diferença é que no primeiro find o comando ls é executado uma vez
> para cada arquivo encontrado. Se forem encontrados 1000 arquivos o
> comando ls será executado 1000 vezes.
>
> Já no segundo exemplo, com a saída do find redirecionada para o
> comando xargs, o comando ls será executado sobre um grupo de arquivos
> de cada vez e não uma vez para cada arquivo. O que irá determinar o
> número de vezes que o comando xargs executará o comando ls é
> justamente o tamanho da linha de comandos. O comando xargs irá dividir
> a saída gerada pelo comando find em blocos compatíveis com a
> capacidade do sistema de maneira a que não ocorra um erro quando da
> execução, em nosso caso, do comando ls (ver a dica de ontem).
>
> Em outras palavras, suponhamos que o comando find descubra 2000
> arquivos sobre os quais o comando xargs deverá executar o comando ls.
> O limite máximo de arquivo sobre os quais o comando ls pode atuar é de
> 500. O comando xargs automaticamente realizará a divisão desta entrada
> em quatro blocos de 500 arquivos.
>
> Concluindo, o comando xargs é bem mais eficiente do que a diretiva
> -exec do comando find, por exigir menos recursos computacionais para
> executar a mesma tarefa. uma vez sobre todos os arquivos encontrados.
>
>
> >
> > Espero ter ajudado,
> > Emerson
> >
> >   ----- Original Message -----
> >   From: Hardware RBR(r)
> >   To: address@hidden
> >   Sent: Monday, January 09, 2006 4:55 PM
> >   Subject: [shell-script] Script SARG - Geração e exclusão de relatórios
> >
> >
> >   Boa tarde, preciso fazer com que meu SARG gere relatórios diários
> de acesso a internet e os mantenha sempre durante 5 dias, ou seja, que
> os mais velhos sejam eliminados aos poucos e apenas os útimos 5 dias
> sejam mantidos.
> >
> >   Para gerar os relatórios, uso esse script, e crio uma chamada para
> ele dentro do crontab, e funciona direitinho:
> >
> >   #!/bin/bash
> >
> >   HOJE=$<date --date "0 day ago" +%d/%m/%Y>
> >   sarg -f /usr/local/sarg/sarg.conf -d $HOJE-$HOJE
> >
> >   Agora, preciso saber de um script que mantenha apenas os últimos 5
> dias armazenados, e o resto que seja deletado..... Alguém saberia?
> >
> >   Obrigado.
> >
> >   [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >   ---------------------------------------------------------------------
> >   Esta lista não admite a abordagem de outras liguagens de
> programação, como perl, C etc. Quem insistir em não seguir esta regra
> será moderado sem prévio aviso.
> >   ---------------------------------------------------------------------
> >   Sair da lista: address@hidden
> >   ---------------------------------------------------------------------
> >   Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> >   ---------------------------------------------------------------------
> >
> >   Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>
>
>
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>


reply via email to

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