# 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) ```bash # 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) ```bash # 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) ```bash # 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) ```bash # 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. ```bash 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`: ```bash # 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: ```bash 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)?