Cron para excluir arquivo (s) específico (s) de um diretório específico

2

Estou tentando escrever um cron para o shell unix que excluirá alguns arquivos, digamos após 2 semanas ou após 1 mês de um diretório específico.

/ somedir1 / somedir2 /

if(somedir2) contains file with extension .txt or .log 
then
check timestamp
if two weeks old delete it
otherwise don't delete.
    
por Nomad 27.08.2012 / 04:05

2 respostas

5

Experimente o comando find .

find /somedir1/somedir2 -name *.txt -name *.log -mtime 2w -delete

Altere -delete para -print para uma execução a seco.

    
por 27.08.2012 / 05:12
2

Você também pode aproveitar o link tmpwatch , usando os parâmetros de atime , ctime , ou mtime atende às suas necessidades.

Por exemplo, tmpwatch --atime 30d /foo removerá todos os arquivos no / foo que não foram acessados em 30 dias.

    
por 27.08.2012 / 21:53