exato , tanto que no seu xargs pode resultar em um , list too long :) On 1/9/06, voyeg3r <[EMAIL PROTECTED]> wrote: > --- Em [email protected], "Emerson Domingues Souto" > <[EMAIL PROTECTED]> 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: [email protected] > > 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: [EMAIL PROTECTED] > > --------------------------------------------------------------------- > > 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: [EMAIL PROTECTED] > --------------------------------------------------------------------- > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > --------------------------------------------------------------------- > > Links do Yahoo! Grupos > > > > > > > > >
--------------------------------------------------------------------- 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: [EMAIL PROTECTED] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
