# Scripts de Backup e Manutencao Aggios ## Estrutura ``` scripts/ ├── backup-db.ps1 # Backup manual do banco ├── restore-db.ps1 # Restaurar backup mais recente ├── rebuild-safe.ps1 # Rebuild seguro (com backup automatico) ├── setup-backup-agendado.ps1 # Configurar backup automatico a cada 6h └── reset-superadmin-password.ps1 # Gerar nova senha segura para SUPERADMIN ``` ## Como Usar ### 1. Configurar Backup Automatico (EXECUTE PRIMEIRO!) Execute como **Administrador**: ```powershell cd g:\Projetos\aggios-app\scripts .\setup-backup-agendado.ps1 ``` Isso criara uma tarefa no Windows que fara backup **automaticamente a cada 6 horas** (00:00, 06:00, 12:00, 18:00). ### 2. Backup Manual ```powershell cd g:\Projetos\aggios-app\scripts .\backup-db.ps1 ``` Cria um backup em `g:\Projetos\aggios-app\backups\aggios_backup_YYYY-MM-DD_HH-mm-ss.sql` ### 3. Rebuild Seguro (SEMPRE USE ESTE!) ```powershell cd g:\Projetos\aggios-app\scripts .\rebuild-safe.ps1 ``` **O que faz:** 1. Backup automatico antes de tudo 2. Para containers (SEM `-v`) 3. Reconstroi imagens 4. Sobe tudo novamente **DADOS NUNCA SAO APAGADOS!** ### 4. Restaurar Backup Se algo der errado: ```powershell cd g:\Projetos\aggios-app\scripts .\restore-db.ps1 ``` Restaura o backup mais recente (com confirmacao). ### 5. Resetar Senha do SUPERADMIN Para gerar uma nova senha super segura: ```powershell cd g:\Projetos\aggios-app\scripts .\reset-superadmin-password.ps1 ``` **Isso ira:** - Gerar senha aleatoria de 28 caracteres - Salvar em arquivo protegido (backup) - Atualizar no banco de dados - Exibir a nova senha na tela **ANOTE A SENHA EXIBIDA!** ## Regras de Ouro ### PODE USAR: - ✅ `.\rebuild-safe.ps1` - Sempre seguro - ✅ `docker-compose down` (sem -v) - ✅ `docker-compose up -d --build` - ✅ `.\backup-db.ps1` - Backup manual ### NUNCA USE: - ❌ `docker-compose down -v` - **APAGA TUDO!** - ❌ `docker volume rm` - Apaga dados permanentemente ## Localizacao dos Backups - **Pasta:** `g:\Projetos\aggios-app\backups/` - **Retencao:** Ultimos 10 backups - **Frequencia automatica:** A cada 6 horas - **Formato:** `aggios_backup_2025-12-13_19-56-18.sql` ## Verificar Backup Agendado 1. Abra o **Agendador de Tarefas** do Windows 2. Procure por: **"Aggios - Backup Automatico DB"** 3. Verifique historico de execucoes ## Desabilitar Backup Agendado Execute como Administrador: ```powershell Unregister-ScheduledTask -TaskName "Aggios - Backup Automatico DB" -Confirm:$false ``` ## Em Caso de Emergencia Se perder dados acidentalmente: 1. **PARE TUDO IMEDIATAMENTE:** ```powershell docker-compose down ``` 2. **Restaure o backup:** ```powershell cd g:\Projetos\aggios-app\scripts .\restore-db.ps1 ``` 3. **Suba os containers:** ```powershell docker-compose up -d ``` ## Historico de Mudancas - **2025-12-13:** Criacao inicial dos scripts de protecao - Backup automatico a cada 6h - Scripts seguros de rebuild - Restauracao facilitada