[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
>
>
>
>
>
>
>
>
>