Como deletar diretórios com mais de uma hora (cron job)

1

Meu aplicativo cria diretórios quando o usuário executa determinada ação. Esses diretórios são armazenados na minha máquina por exatamente uma hora e depois são excluídos.

Agora, gostaria de mover a parte de "lógica de exclusão" do aplicativo para uma tarefa cron que será executada a cada minuto.

Digamos que os diretórios para exclusão estejam localizados em /tmp/files/ . O script deve verificar todos os diretórios nesse caminho e excluir tudo o que foi criado há uma hora .

Qualquer ajuda seria apreciada.

Obrigado antecipadamente!

** RESOLVIDO **

Isso fará o truque:

find ./* -mmin +60 -type d -exec rm -rdf {} \;
    
por Pono 31.05.2012 / 09:56

1 resposta

3

Você não deve usar find ./* porque isso faz com que o shell expanda o curinga antes de invocar find , o que falhará se houver muitos arquivos.

Em vez disso, você precisa passar "./*" para o comando find assim:

find . -type d -path "./*" -mmin +60 -exec rm -rf {} \;
    
por 31.05.2012 / 10:48

Tags