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

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

Re: Deletar arquivos criados com determinado tempo de criação


From: voyeg3r
Subject: Re: Deletar arquivos criados com determinado tempo de criação
Date: Sat, 21 Oct 2006 23:48:07 -0000
User-agent: eGroups-EW/0.82

Só um detalhe

O comando abaixo executará rm para cada ocorrência
   find /caminho/ -mtime +6 -exec rm rf {} \;

o comando

   find /caminho/ -mtime +6 | xargs rm rf 

fará a busca e gerará uma lista e só será feito um comando rm

=======================================
Veja a explicação com outro exemplo 
=======================================
fonte: dicas-l --> 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. 




--- Em address@hidden, Cléoson Michiles Barreto
<cleoson.barreto@s...> escreveu
>
> 
> Olá,
> 
>     Você pode usar o comando find, com os parâmetros ctime +6 ou mtime 
> +6, e -exec rm -rf {} \;
> # find /caminho/ -mtime +6 -exec rm rf {} \;
> 
> []'s
> Cléoson.
> 
> Em 20-10-2006 17:16, Jefferson George Kiocia escreveu: :
> > Pessoal,
> >
> > Estou começando agora a criar meus primeiros scripts e preciso de uma 
> > ajuda :
> >
> > Necessito criar um shell-script que delete arquivos com datas de 
> > criação de por exemplo sete dias, vou executa-lo em uma área ftp que 
> > os arquivos podem ficar no máximo sete dias.
> >
> > Desde de já agradeço a ajuda .
> >
> > Jefferson Kiocia
> > jeffkiocia@y...
> >
> >
> >            
> > _______________________________________________________
> > Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu 
> > celular. Registre seu aparelho agora!
> > http://br.mobile.yahoo.com/mailalertas/
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >  
> 
> 
> 
> "Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS
(SERPRO), empresa pública federal regida pelo disposto na Lei Federal
nº 5.615, é enviada exclusivamente a seu destinatário e pode conter
informações confidenciais, protegidas por sigilo profissional. Sua
utilização desautorizada é ilegal e sujeita o infrator às penas da
lei. Se você a recebeu indevidamente, queira, por gentileza,
reenviá-la ao emitente, esclarecendo o equívoco."
> 
> "This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS
(SERPRO) -- a government company established under Brazilian law
(5.615/70) -- is directed exclusively to its addressee and may contain
confidential data, protected under professional secrecy rules. Its
unauthorized use is illegal and may subject the transgressor to the
law's penalties. If you're not the addressee, please send it back,
elucidating the failure."
> 
> [As partes desta mensagem que não continham texto foram removidas]
>





reply via email to

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