!script> !script> !script>
Como fazer backup automático do MySQL (backup de triggers e stored procedures, agendamento cron, versionamento por data e limpeza de backups antigos).
Caso a pessoa desejasse apenas um comando que pudesse executar manualmente, sob demanda, para realização do backup, a linha abaixo realiza o backup completo do banco de dados MySQL (incluindo triggers e stored procedures). Basta substituir dbusername, dbpassword e /caminho pelas respectivas informações de usuário, senha e caminho da pasta onde será armazenado o backup.
/usr/bin/mysqldump –routines [–triggers] -u dbusername -p’dbpassword’ dbname > /caminho/backup.sql
Você deve ter percebido que o backup, no comando anterior, é armazenado no arquivo backup.sql. Sendo assim, a cada nova execução do comando, o backup seria sobrescrito. Caso não deseje que isso ocorra, basta alterar o nome do arquivo a cada execução.
Agora imagine que você resolve que vai deixar agendado para executar o backup todo dia. Fica inviável renomear o arquivo manualmente a cada execução, certo? Neste caso, melhor criar um nome dinâmico para o arquivo do backup.
É exatamente isso que a opção $(date +%F) faz! E mais, esta opção resulta na data no formato AAAA-MM-DD, ou seja, 4 dígitos do ano, 2 do mês e mais 2 do dia. Resultado: os arquivos ficam fáceis de ser ordenados por data, sem precisar usar a data de modificação, mas apenas ordenando por nome mesmo.
O comando abaixo, depois de ajustado como já indicamos no item 1, pode ser agendado para executar todo dia, sem risco de sobrescrever os arquivos de backups anteriores.
/usr/bin/mysqldump –routines [–triggers] -u dbusername -p’dbpassword’ dbname >/caminho/backup_DBNAME/$(date +%F)_full_DBNAME.sql
A depender da frequência de backup do banco de dados (há empresas que precisam de vários backups por dia!), haverá uma quantidade grande de backups antigos, e neste caso pode fazer sentido apagar os mais antigos (talvez fazendo um backup em fita antes).
Para isso, o comando abaixo permite localizar e remover automaticamente, os arquivos anteriores a 7 dias, considerando a data de modificação do arquivo de backup. Caso deseje remover backups mais antigos (depois de 30 dias, por exemplo), basta alterar o valor 7 para o valor apropriado.
find /caminho/backup_DBNAME/ -type f -mtime +7 -exec rm {} +
gora que já pensamos nas várias questões relativas à rotina de backup, que tal juntar tudo num script único backup_mysql.sh?
#!/bin/bash
/usr/bin/mysqldump –routines [–triggers] -u dbusername -p’dbpassword’ dbname >/caminho/backup_DBNAME/$(date +%F)_full_DBNAME.sql
find /caminho/backup_DBNAME/ -type f -mtime +7 -exec rm {} +
O script acima vai fazer o backup do banco, salvar o arquivo por data, e depois apagar os backups anteriores a uma semana.
Importante! Não esquecer de dar permissão de execução no script com o comando “chmod +x backup_mysql.sh”.
Execute o comando “crontab -e” para incluir a execução do backup no usuário desejado (root ou outro). Você será levado para um editor com um conteúdo semelhante ao abaixo:
# Minute Hour Day of Month Month Day of Week Command
# (0-59) (0-23) (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)
Este conteúdo indica o formato de agendamento do cron, onde você deve informar minuto, hora, dia do mês, mês, dia da semana que o comando deve ser executado.
30 4 * * 1-6 /caminho/backup_mysql.sh
O backup será executado às 4h30min da manhã, todos os dias do mês, todos os meses, porém apenas de segunda a sábado (1-6).
Data | Título |
---|---|
14/04/2024 | Forró du Vale abre os festejos juninos do interior da Bahia |
07/04/2024 | Festival Gastronômico de Lagoa Nova/RN 2024 |
24/03/2024 | São João 2024 de Campina Grande |
23/03/2024 | São João 2024 de Cruz das Almas |
19/03/2024 | São João de Assú/RN 2024 |
14/03/2024 | Festival Forrozar |
13/03/2024 | Samba da Raffe realiza edição especial St. Patrick’s |
11/03/2024 | Altofolia 2024 |
07/03/2024 | Mossoró Cidade Junina 2024 |
07/03/2024 | Lounge Music abre a temporada dos grandes shows e terá noite dedicada ao forró |
06/03/2024 | III Harmonizando Experience Festival vai reunir apaixonados por cachaça em Natal |
06/03/2024 | Festa social de Santa Rita de Cássia divulga preços de lote promocional de senhas |