Assumindo que os registros de data e hora dos arquivos permaneçam consistentes, você pode fazer isso com o find.
find /path/to/backups -type f -maxdepth 1 -mtime +7 -delete
Isso listará todos os arquivos no diretório, sem recursar, /path/to/backups
que foram modificados pela última vez há mais de 7 períodos de 24 horas e os excluirá. Eu recomendaria rodar sem o -delete
primeiro até que você saiba que funcionará para você.
Se você quiser operar em dias de calendário, use a opção -daystart
. Acho isso muito útil quando tenho algo que gira arquivos por hora, mas quero basear meu cronograma de retenção em um calendário. Às vezes, a distinção entre "dia" e "período de 24 horas" realmente importa e usar -daystart
certamente torna o cronograma de retenção mais fácil de explicar.