[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Script SARG - Geração e exclusão de relatórios
From: |
voyeg3r |
Subject: |
Re: Script SARG - Geração e exclusão de relatórios |
Date: |
Mon, 09 Jan 2006 22:11:33 -0000 |
User-agent: |
eGroups-EW/0.82 |
--- 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®
> 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]
>