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

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







reply via email to

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