# Testar Backup Automático

## Verificações no Servidor

Execute os seguintes comandos para diagnosticar:

### 1. Verificar se o scheduler está rodando

```bash
cd /var/www/gestorstream/backend

# Ver logs do scheduler
tail -n 50 storage/logs/scheduler.log

# Ver se há erros
grep -i error storage/logs/scheduler.log
```

### 2. Verificar configurações do backup

```bash
cd /var/www/gestorstream/backend

php artisan tinker
```

No tinker, execute:
```php
\App\Models\SystemSetting::get('auto_backup_enabled')
\App\Models\SystemSetting::get('auto_backup_frequency')
\App\Models\SystemSetting::get('auto_backup_time')
exit
```

### 3. Testar execução manual

```bash
cd /var/www/gestorstream/backend

# Executar o comando diretamente
php artisan database:auto-backup -v
```

### 4. Verificar se o scheduler detecta o comando

```bash
cd /var/www/gestorstream/backend

# Listar todos os comandos agendados
php artisan schedule:list

# Verificar especificamente o backup
php artisan schedule:list | grep -i backup
```

### 5. Simular execução do scheduler

```bash
cd /var/www/gestorstream/backend

# Executar o scheduler manualmente (simula o que o cron faz)
php artisan schedule:run -v
```

### 6. Verificar logs do Laravel

```bash
cd /var/www/gestorstream/backend

# Ver logs relacionados a backup
tail -n 100 storage/logs/laravel.log | grep -i backup

# Ver logs do scheduler
tail -n 100 storage/logs/scheduler.log
```

## Problemas Comuns

### O scheduler não está executando

1. Verificar se o cron está ativo:
```bash
sudo systemctl status cron
```

2. Verificar logs do sistema:
```bash
sudo tail -f /var/log/syslog | grep CRON
```

### O backup não está sendo criado

1. Verificar se está habilitado nas configurações
2. Verificar permissões do diretório de backups:
```bash
ls -la storage/app/backups/
```

3. Verificar se o MySQL está acessível:
```bash
php artisan tinker
>>> DB::connection()->getPdo();
```

### O horário não está correto

1. Verificar timezone do sistema:
```bash
timedatectl
```

2. Verificar timezone configurado no Laravel:
```bash
php artisan tinker
>>> config('app.timezone')
>>> system_timezone()
```

## Forçar Execução Imediata (Para Teste)

Para testar se o backup funciona, você pode:

1. **Opção 1: Executar manualmente**
```bash
php artisan database:auto-backup
```

2. **Opção 2: Alterar temporariamente o horário**
- Acesse `/admin/settings` → Backup e Migração
- Altere o horário para o horário atual (ex: se são 14:30, coloque 14:30)
- Aguarde 1 minuto e verifique se executou

3. **Opção 3: Usar tinker para forçar**
```bash
php artisan tinker
>>> \Illuminate\Support\Facades\Artisan::call('database:auto-backup');
```

## Após Correções

Após verificar tudo, o backup deve executar automaticamente no horário e frequência configurados.


