Estratégias de Backup e Restauração de Bancos de Dados
Proteja seus dados com backups confiáveis: faça despejos e restaure bancos de dados PostgreSQL e MySQL, automatize backups com cron e entenda a recuperação pontual para sobreviver a falhas de disco e erros humanos.
Estratégias de Backup e Restauração de Bancos de Dados é uma aula grátis de Linux Server Deployment & SSH Mastery no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Server Deployment & SSH Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
Os backups fazem parte da segurança
Você instalou um banco de dados, restringiu o acesso e protegeu as conexões. Mas um servidor reforçado ainda está vulnerável a falhas no disco, a um DROP TABLE acidental ou a ransomware.
Os backups são a última linha de defesa. Um banco de dados só é tão seguro quanto o backup mais recente que foi testado.
Backups lógicos e físicos
Há duas abordagens gerais:
- Lógicos — exportam instruções SQL e dados (por exemplo,
pg_dumpemysqldump). São portáteis, legíveis por humanos e mais lentos para restaurar. - Físicos — copiam os arquivos de dados brutos. São rápidos para bancos de dados enormes, mas dependem da versão do servidor.
A maioria das configurações começa com backups lógicos.
Fazendo o despejo de um banco de dados PostgreSQL
O pg_dump exporta um único banco de dados. O formato personalizado (-Fc) é compactado e permite restaurações seletivas.
pg_dump -U appuser -Fc mydb > mydb_$(date +%F).dumpRestaurando o PostgreSQL
Restaure um despejo no formato personalizado com pg_restore. Para um despejo SQL simples, encaminhe-o para o psql.
createdb -U appuser mydb_restored
pg_restore -U appuser -d mydb_restored mydb_2026-05-30.dumpFazendo despejo e restaurando o MySQL
MySQL/MariaDB usam mysqldump para exportar e mysql para importar. Por padrão, o despejo é SQL simples.
mysqldump -u appuser -p mydb > mydb_$(date +%F).sql
mysql -u appuser -p mydb_restored < mydb_2026-05-30.sqlFazendo backup de todos os bancos de dados
Para capturar um servidor inteiro, ambos os mecanismos oferecem um despejo completo do cluster. Isso é útil antes de grandes atualizações ou migrações.
pg_dumpall -U postgres > all_$(date +%F).sql
mysqldump -u root -p --all-databases > all_$(date +%F).sqlAutomatizando com o Cron
Um backup que você precisa lembrar de executar acabará sendo esquecido. Agende-o com o cron. Coloque o comando de despejo em um script e execute-o todas as noites.
# crontab -e -> run at 02:30 every day
30 2 * * * /usr/local/bin/db_backup.sh >> /var/log/db_backup.log 2>&1Um script de backup simples
Um bom script adiciona marcas de data e hora aos arquivos e remove os antigos para que o disco não fique cheio. Este exemplo mantém 14 dias de despejos.
#!/bin/bash
DIR=/var/backups/db
pg_dump -U appuser -Fc mydb > $DIR/mydb_$(date +%F).dump
find $DIR -name 'mydb_*.dump' -mtime +14 -deleteArmazenamento externo
Um backup no mesmo servidor deixa de existir junto com o servidor. Copie os despejos para outro local — armazenamento de objetos, outro host ou ambos.
Use rsync ou uma CLI de nuvem como etapa final do seu script de backup.
rsync -avz /var/backups/db/ backup@remote:/srv/db_backups/
# or: aws s3 cp $DIR/mydb_$(date +%F).dump s3://my-bucket/Recuperação em um momento específico
Despejos diários podem perder até um dia de dados. Para evitar perdas ou reduzi-las ao mínimo, habilite o arquivamento contínuo (arquivamento de WAL no PostgreSQL e registros binários no MySQL). Combinado com um backup de base, isso permite restaurar o sistema para qualquer momento.
Esse é o padrão-ouro para bancos de dados de produção.
Práticas recomendadas
Torne os backups confiáveis:
- Teste as restaurações regularmente — um backup não testado é apenas uma suposição
- Automatize e monitore as tarefas de backup para detectar falhas
- Armazene cópias fora do local principal
- Conserve várias gerações, não apenas a mais recente
Verificação rápida
Teste seus conhecimentos sobre backups.
Recapitulação
Agora você tem uma estratégia de proteção para bancos de dados:
- Despejos lógicos com
pg_dump/mysqldumpe restaurações compg_restore/mysql - Despejos completos do cluster para migrações
- Backups automatizados e com remoção automática dos mais antigos via cron
- Cópias externas e recuperação em um momento específico para minimizar a perda de dados
Sempre teste suas restaurações — isso conclui a operação segura do banco de dados.
Perguntas Frequentes
A aula “Estratégias de Backup e Restauração de Bancos de Dados” é grátis?
Sim — o texto completo de “Estratégias de Backup e Restauração de Bancos de Dados” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Server Deployment & SSH Mastery, atualize para CoddyKit PRO. O curso de Linux Server Deployment & SSH Mastery inclui 4 aulas no total.
O que vou aprender em “Estratégias de Backup e Restauração de Bancos de Dados”?
Proteja seus dados com backups confiáveis: faça despejos e restaure bancos de dados PostgreSQL e MySQL, automatize backups com cron e entenda a recuperação pontual para sobreviver a falhas de disco e… Você pratica Linux Server Deployment & SSH Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Server Deployment & SSH Mastery?
Nenhuma experiência prévia é necessária. Linux Server Deployment & SSH Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Estratégias de Backup e Restauração de Bancos de Dados”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Server Deployment & SSH Mastery?
Sim. Cada aula de Linux Server Deployment & SSH Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Instalação do PostgreSQL/MySQL
- Usuários e Controle de Acesso ao Banco de Dados
- Proteção das Conexões com o Banco de Dados
- Estratégias de Backup e Restauração de Bancos de Dados