A shell do Linux tem ferramentas poderosas no que toca a automatizar procedimentos. Uma delas é o comando find, que permite eliminar ou mover ficheiros com mais do que n dias.
Eliminar Ficheiros
find /path-fich/ -type f -name '*.jpg' -mtime +30 -exec rm {} \;
Explicação do comando:
- o primeiro parâmetro (path-fich) é o caminho onde procurar;
- -type f – tipo de objecto: ficheiro;
- terceiro parâmetro: filtro, no caso ficheiros jpg (não usar o wildcard em resultados muito extensos. Dá o erro Argument list too long);
- tempo (-mtime) – no exemplo, lista ficheiros com mais de 30 dias;
- execução de comando (-exec). no caso, executa o comando rm com cada elemento obtido na pesquisa;
- \; termina o comando a executar;
Mover Ficheiros
find /path-fich/ -type f -name '*.jpg' -mtime +30 -exec mv {} /path-pasta-arquivo/ \;
Adaptado do artigo escrito em: https://www.vionblog.com/linux-delete-files-older-than-x-days/