Você pode usar find /path/to/backups -type f -mtime +7 -maxdepth 1
, e todos os arquivos com mais de 7 dias poderão ser excluídos.
Eu tenho um script de shell que cria um backup de um banco de dados. Eu gostaria de manter os últimos 7 dias para arquivos.
Qual é a sintaxe de que preciso para remover arquivos em um diretório por data ou posso manter os 7 arquivos mais novos em um diretório?
Script executado via cron
EDIT: algo assim?
find -type f -mtime +7 -maxdepth 1 -exec rm -f {} \;
find /path/to/backups -type f -mtime +7 -maxdepth 1 -delete
Sua ideia de usar exec
também pode funcionar, mas você ainda precisa do caminho para o diretório de backup e seu exec
não está correto. Pode ser
find /path/to/backups -type f -mtime +7 -maxdepth 1 -exec rm -f {} \;
Além disso, não tenho certeza se você precisa da opção -maxdepth
; você está preocupado em descer em diretórios de crianças? Eu não vi nada sobre isso na sua pergunta.
Tags find files shell-script timestamps