Você pode começar dizendo find /var/dtpdev/tmp/ -type f -mtime +15
.
Isto irá encontrar todos os arquivos com mais de 15 dias e imprimir seus nomes.
Opcionalmente, você pode especificar -print
no final do comando,
mas essa é a ação padrão.
É aconselhável executar o comando acima primeiro,
para ver quais arquivos estão selecionados.
Depois de verificar se o comando find
está listando os arquivos
que você deseja excluir (e nenhum outro),
você pode adicionar uma "ação" para excluir os arquivos.
As ações típicas para fazer isso são:
-
-exec rm -f {} \;
(ou, equivalentemente,-exec rm -f {} ';'
)
Isso executarárm -f
em cada arquivo; por exemplo,rm -f /var/dtpdev/tmp/A1/B1; rm -f /var/dtpdev/tmp/A1/B2; rm -f /var/dtpdev/tmp/A1/B3; …
-
-exec rm -f {} +
Isso executarárm -f
em muitos arquivos de uma vez; por exemplo,rm -f /var/dtpdev/tmp/A1/B1 /var/dtpdev/tmp/A1/B2 /var/dtpdev/tmp/A1/B3 …
então pode ser um pouco mais rápido que a opção 1. (Pode ser necessário executar
rm -f
algumas vezes se você tiver milhares de arquivos.) -
-delete
Isso diz ao própriofind
para excluir os arquivos, sem executarrm
. Isso pode ser infinitesimalmente mais rápido que as variantes-exec
, mas não funcionará em todos os sistemas.
Então, se você usar a opção 2, o comando inteiro será:
find /var/dtpdev/tmp/ -type f -mtime +15 -exec rm -f {} +