manuais-e-documentacao-itguys/documentacao bancos de dados/Nivel_1_[Nível 1] Procedime...

2.9 KiB

MANUAL TÉCNICO - BACKUP E RESTORE MANUAL (DUMP)

Código: ITGSUP 0021/26 | Classificação: RESTRITO Responsável: João Pedro Toledo Gonçalves | Data: {{DATA_ATUAL}}

1. HISTÓRICO DE REVISÃO

Data Versão Descrição Autor
{{DATA_ATUAL}} 1.0 Criação Inicial João Pedro Toledo Gonçalves

2. OBJETIVO

Executar backups pontuais (Dumps) e restaurações de emergência em bancos de dados, incluindo a exportação segura para servidores remotos (Storage/NFS).

3. PRÉ-REQUISITOS

  • Espaço em disco suficiente para o dump.
  • Senhas de administração dos bancos.

4. POSTGRESQL (pg_dump)

Backup (Exportar)

# Backup de UM banco
pg_dump -U usuario_admin -h localhost nome_do_banco > backup.sql

# Backup de TODOS os bancos (Cluster)
pg_dumpall -U usuario_admin > backup_full.sql

Restore (Importar)

# Se o banco ja existe (Sobrescreve estruturas)
psql -U usuario_admin -d nome_do_banco < backup.sql

# Se foi gerado com pg_dumpall
psql -U usuario_admin -f backup_full.sql postgres

5. MYSQL / MARIADB (mysqldump)

Backup (Exportar)

# Backup de UM banco
mysqldump -u root -p nome_do_banco > backup.sql

# Backup de VÁRIOS bancos
mysqldump -u root -p --databases db1 db2 > backup_db1_db2.sql

Restore (Importar)

# O banco DEVE existir antes (mysqladmin create nome_do_banco)
mysql -u root -p nome_do_banco < backup.sql

6. REDIS (RDB Snapshot)

O Redis trabalha em memória, mas salva arquivos .rdb.

Backup (Snapshot Force)

  1. Acesse o CLI: redis-cli
  2. Execute: BGSAVE (Salva em background).
  3. Verifique o diretório de dados (geralmente /var/lib/redis/dump.rdb).
  4. Copie o arquivo dump.rdb para local seguro.

Restore

  1. Pare o serviço: systemctl stop redis
  2. Substitua o arquivo dump.rdb pelo seu backup.
  3. Garanta as permissões: chown redis:redis dump.rdb
  4. Inicie o serviço: systemctl start redis

7. EXPORTAÇÃO REMOTA (OFF-SITE)

⚠️ IMPORTANTE: Nunca deixe o backup apenas no próprio servidor. Mova-o.

Opção A: Cópia via SCP (Windows/Linux Seguro)

Envia o arquivo para outro servidor via SSH.

scp backup.sql usuario@192.168.1.50:/home/usuario/backups/

Opção B: Montagem NFS (Storage Linux)

Se você tem um storage montado em /mnt/backup:

# Gera direto na pasta remota
pg_dump -U postgres meu_banco > /mnt/backup/pg_$(date +%F).sql

Opção C: Montagem SMB/CIFS (Windows Share)

Para enviar para uma pasta do Windows Server.

  1. Instale: apt install cifs-utils
  2. Monte:
    mount -t cifs -o username=user,password=pass //servidor/share /mnt/windows
    
  3. Copie: cp backup.sql /mnt/windows/

8. VALIDAÇÃO FINAL

  • O arquivo .sql foi gerado e tem tamanho maior que 0?
  • O arquivo está salvo em local externo (SCP/NFS)?