138 lines
3.0 KiB
Markdown
138 lines
3.0 KiB
Markdown
# 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
|