Publicada por leandro_ls em 31/08/2006 - 15:02h:
* leandro_ls usa Fedora

Script para apagar arquivos antigos?

Gostaria de um script para apagar arquivos antigos de uma pasta, tente isso:

find /var/virusmail -ctime +45 -exec rm -f {} ;

mas não funcionou alguem tem alguma dica



  
 
Resposta de m4tri_x em 31/08/2006 - 15:10h:
* m4tri_x usa Ubuntu
* m4tri_x tem conceito: 8.6
 


que tal apagar a pasta e em seguida restaurar as permissões?
;D
;)

 
Resposta de leandro_ls em 31/08/2006 - 15:15h:
* leandro_ls usa Fedora
* leandro_ls tem conceito: nenhum voto.
 


nao posso fazer isso porque tenho que manter pelo menos uns 30 dias o arquivo antes de apagar

 
Resposta de tpramos em 31/08/2006 - 15:37h:
* tpramos usa Conectiva
* tpramos tem conceito: 9.4
 


find /var/virusmail -mtime +45 |
while read arquivo
do
rm -f $arquivo;
done
----------------------------------
mtime n
retorna os arquivos modificados na ultimas 24hrs x n
dah uma consultada no man do find que vc acha mais informações
Espero ter ajudado..

 
Resposta de removido em 15/11/2006 - 11:09h:
* removido usa Nenhuma
* removido tem conceito: nenhum voto.
 


Quero utilizar esse comando num servidor FTP onde o acesso é feito por várias pessoas. Li o man do find e fiquei com algumas dúvidas em relação as diferenças dos parâmetros "atime" (accessed), "ctime" (changed) e "mtime" (modified).
Na verdade eu gostaria de saber quando aconteceria de o arquivo registrar um acesso e quando aconteceria de registrar uma modificação. Apenas de alguém fazer upload já registra um acesso e modificação?
Qual seria o retorno da "idade", em dias, do arquivo?
Quero apagar depois de 15 dias os arquivos que foram "upados" para o servidor.

Qual a diferença entre ctime e mtime se ambos são sobre modificações no arquivo?

Obrigado pela ajuda, pessoal!

 
Resposta de Nander em 09/11/2009 - 15:58h:
* Nander usa Ubuntu
* Nander tem conceito: nenhum voto.
 


Bom o comando inicial não deu certo por dois motivos:

1º vc não especificou o que procurar ex: find /var/virusmail -name "*.log( ou qq outra coisa" -ctime +45 -exec rm -f {} ;

2º Vc esqueceu de "escapar" o ";" do final que deveria ficar assim:
find /var/virusmail -name "*.log( ou qq outra coisa)" -ctime +45 -exec rm -f {} \;


espero ter ajudado

 
Resposta de removido em 10/11/2009 - 10:14h:
* removido usa Nenhuma
* removido tem conceito: nenhum voto.
 


Bom, respondendo a minha própria pergunta (retirado de http://www.unix.com/tips-tutorials/20526-mtime-ctime-atime.html ):

Unix keeps 3 timestamps for each file: mtime, ctime, and atime. Most people seem to understand atime (access time), it is when the file was last read. There does seem to be some confusion between mtime and ctime though. ctime is the inode change time while mtime is the file modification time. "Change" and "modification" are pretty much synonymous. There is no clue to be had by pondering those words. Instead you need to focus on what is being changed. mtime changes when you write to the file. It is the age of the data in the file. Whenever mtime changes, so does ctime. But ctime changes a few extra times. For example, it will change if you change the owner or the permissions on the file.

 
Resposta de tgomarino2387 em 09/04/2010 - 18:06h:
* tgomarino2387 usa Ubuntu
* tgomarino2387 tem conceito: nenhum voto.
 


muito bom,
ajudou muito, mas gostaria de saber para que ele apague o conteudo das subpastas

  


ATENÇÃO: Antes de contribuir com uma resposta, leia o artigo Qualidade de respostas e certifique-se de que esteja realmente contribuindo com a comunidade. Muitas vezes o ímpeto de contribuir nos leva a atrapalhar ao invés de ajudar.

Contribuir com resposta



CAPTCHA
[ Recarregar imagem ]

Digite o código acima:

  
* Nota: só é possível enviar respostas usuário que possui conta e esteja logado com ela, caso contrário sua mensagem será perdida.



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts