Como excluir arquivos no linux anteriores a 1 ano? [duplicado]


Respostas:


15
find /the/dir/to/start/in -type f -mtime +365 -ls -exec rm -f -- {} \;

2
find /path/to/files -type f -mtime +365 -deleteseria mais fácil.
Chris S

-delete não está no meu Aix Find, então não estou acostumado a usá-lo. Ainda bem que foi implementado em outros binários de busca.
bot403

find … -exec rm -f {} +será um pouco mais rápido (e é portátil, exceto para sistemas antigos).
Gilles 'SO- stop be evil'

11
Além disso, é uma boa idéia usar o --caso de o primeiro nome de arquivo começar com a -(embora você possa garantir que isso não ocorra se o diretório passado para findnão começar com a -).
Gilles 'SO- stop be evil'

Isso é extremamente perigoso, pois você não vê o que está prestes a excluir e por que você força a exclusão com -f? Alguns arquivos estão protegidos por um motivo. É muito mais seguro armazenar os resultados da localização em um arquivo, examiná-los e executar rm no conteúdo do arquivo.
Petr

2

Se você estiver removendo muitos arquivos, normalmente é muito mais rápido que "-exec" ou canaliza para "xargs":

find . -type f -mtime +365 | perl -lne unlink
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.