Eu preciso criar um script para automatizar o processo de backup do meu servidor de banco de dados. Hoje existem 19 bancos de dados no servidor e para evitar que algum esquema seja criado e não contemplado pelo script, eu gostaria que ele fizesse backup de todos os bancos de dados listados pela consulta "show schemas".
Minha idéia é que cada esquema seja despejado duas vezes (ou seja, às 0h00 e às 12h00) por dia, compactado e salvo na pasta /home/{user}/database_backup/daily/[day_of_week]
.
Uma vez por semana, todas as pastas [day_of_week]
são compactadas e salvas em /home/{user}/database_backup/weekly/[week_of_month]
.
Por fim, uma vez por mês, todos os [week_of_month]
serão compactados e salvos em /home/{user}/database_backup/monthly/
e deixados lá para que outro aplicativo possa fazer o backup em fita.
Hoje, esse aplicativo de backup em fita faz o backup de /var/lib/mysql
diariamente, mas deve ser necessário, restaurar esses arquivos ou usá-los em um servidor de banco de dados diferente é um pouco difícil.
Eu sei que esta é uma questão muito aberta, mas a ajuda é, como sempre, apreciada.