Política de retenção complexa

1

Eu tenho backups de banco de dados diários scp'd para um diretório em uma máquina Linux local para vários bancos de dados. O formato de nomenclatura é [dbname] .backup; não há registro de data e hora e, atualmente, o último backup substitui o anterior.

O gerenciamento deseja manter versões antigas dos arquivos com um carimbo de data anexado ao final e aplicar a seguinte política para retenção:

  • todos os arquivos serão mantidos por 7 dias
  • o primeiro backup do mês para cada banco de dados será retido por 12 meses
  • o primeiro backup para cada ano será retido indefinidamente

Eu estou coçando minha cabeça como escrever este roteiro, então eu estava meio que esperando que alguém tivesse escrito algo assim antes, ou talvez haja uma ferramenta que eu não conheço que possa administrar esse tipo de coisa.

Alguém sabe de tal script ou ferramenta?

    
por Jeremy Holovacs 06.12.2013 / 20:51

1 resposta

2

Fazemos isso muito na minha empresa.

A principal coisa que você provavelmente usará é "find" (man find). Por exemplo:

find /home -type f -ctime +14 -exec rm -f {} \;

excluirá todos os arquivos de / home para baixo que foram criados com mais de 14 dias. Você pode especificar ainda mais opções para encontrar para aprimorar os arquivos que você está segmentando.

Deixe-me saber se você precisa de mais informações ou ajuda para encontrar, mas fará tudo o que for necessário.

    
por 06.12.2013 / 21:50