0Pricing
Linux Server Deployment & SSH Mastery · Aula

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_dump e mysqldump). 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).dump

Restaurando 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.dump

Fazendo 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.sql

Fazendo 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).sql

Automatizando 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>&1

Um 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 -delete

Armazenamento 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/mysqldump e restaurações com pg_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

  1. Instalação do PostgreSQL/MySQL
  2. Usuários e Controle de Acesso ao Banco de Dados
  3. Proteção das Conexões com o Banco de Dados
  4. Estratégias de Backup e Restauração de Bancos de Dados
← Voltar para Linux Server Deployment & SSH Mastery