Confira o script AutoMySQLBackup link
Este é um ótimo script para fazer backup de um / todos os bancos de dados, usando mysqldump (assumindo que estes são bancos de dados mysql)
Atualmente, estou fazendo backup diário do meu banco de dados, fazendo um mysqldump diário e usando o logrotate para manter os últimos 7 dias do mysqldump.
Gostaria de melhorar este processo de backup para manter 7 backups diários, 3 backups semanais e 12 backups mensais.
Eu encontrei este artigo que explica como fazer isso com o logrotate: link
No entanto, estou usando a opção dateext
logrotate para nomear meus arquivos de backup, portanto não posso usar essa solução.
Como posso fazer backup diário, semanal e mensal com logrotate e com a opção dateext
?
Confira o script AutoMySQLBackup link
Este é um ótimo script para fazer backup de um / todos os bancos de dados, usando mysqldump (assumindo que estes são bancos de dados mysql)
Você pode adicionar a opção nodateext
ao seu banco de dados logrotate conf.
Você também pode colocar um script na seção pós-rotatória, que copia / move seu backup mensal diário e semanal para um novo local, o que impedirá a exclusão dele pelo logrotate.
Outra solução é escrever um shell script simples para fazer e rodar backups e colocá-lo no cron. Alguns comandos úteis para usar no script
date +%u - day of week
date +%d - day of month
find /path -type f -daystart -ctime +30 -exec rm -f '{}' \; - remove files older than 30 days
Por que você quer ter esse tipo de backup? Para mim esta estratégia não tem sentido. Mysqldump cria apenas backup completo do banco de dados, assim você não faz backups semanais / mensais.
Backups diários, semanais e mensais são necessários quando você usa backups completos / diferenciais / incrementais. Você precisa apenas de alguns últimos backups em caso de corrupção do banco de dados.
Provavelmente logrotate não é a melhor ferramenta para fazer isso.
Eu usei mysqldump e rsnapshot por muito tempo para obter exatamente o mesmo requisito.
Em vez de mysqldump, você também pode considerar o uso de xtrabackup .
Aqui está outra versão feita à mão, que é muito mais simples e fácil de configurar. link