Isso funciona para mim no Debian / Ubuntu (e deve funcionar sob a maioria):
Por exemplo, se você tiver arquivos com data no seguinte formato:
mybackup_ 12-01-2015 .tar.gz
$ find ./* -name 'mybackup_??-01-*' -prune -o -mtime +7 -exec ls {} \;
Comando:
- Encontre todos os arquivos a partir da pasta atual
- Remover (excluindo / excluindo) arquivos com correspondência de data '01'
- e incluindo apenas arquivos de ≥7 dias (mtime)
- Execute
ls
para mostrar o que resta.
If you want to delete them after testing command, just replace
ls
withrm
.
Quando você está satisfeito com o comando, ele também funciona bem como uma tarefa / tarefa do cron. Eu tenho que executar meu script uma vez a cada dois meses. (meu script usa um mtime de +90 dias para limpar backups do mysql)