Sistema de backup

14. Administração do sistema

Sistema de backup

O sistema utiliza o Spatie Laravel Backup para criar backups automáticos de bancos de dados e arquivos, garantindo a segurança dos dados e a possibilidade de restauração em caso de necessidade.

📦 Configuração do backup

  • Pasta de backup: /home/achille616/backups/cnc-ecommerce
  • Frequência do backup do banco de dados: A cada 6 horas (00h00, 06h00, 12h00, 18h00)
  • Frequência do backup completo: Diariamente às 02:00
  • Limpeza automática: Todos os dias às 03:00
  • Retenção: Mantém todos os backups por 7 dias
  • Notificações: E-mail para info@cncsimulator.it em caso de sucesso/erros

Comandos disponíveis

Criar um backup manual

# Backup completo (database + file)
cd /var/www/cnc-ecommerce && php artisan backup:run

# Solo database
cd /var/www/cnc-ecommerce && php artisan backup:run --only-db

# Solo file
cd /var/www/cnc-ecommerce && php artisan backup:run --only-files

Visualizar os backups disponíveis

cd /var/www/cnc-ecommerce && php artisan backup:list

Limpar backups antigos

cd /var/www/cnc-ecommerce && php artisan backup:clean

Monitorar o status dos backups

cd /var/www/cnc-ecommerce && php artisan backup:monitor

⚡ Backup manual antes de operações críticas

Antes de atualizações importantes ou alterações no banco de dados, sempre execute um backup manual:

cd /var/www/cnc-ecommerce && php artisan backup:run --only-db

Monitoramento e notificações

O sistema envia automaticamente e-mails para info@cncsimulator.it para:

  • ✅ Backup concluído com sucesso
  • ❌ Backup com falha
  • ⚠️ Backup inválido (muito antigo ou muito grande)
  • 🧹 Limpeza concluída

Agendamento automático

Os backups estão configurados para serem executados automaticamente por meio do agendador de tarefas do Laravel:

Tipo de backup Frequência Horário
Banco de dados A cada 6 horas 00h, 06h, 12h, 18h
Completo (banco de dados + arquivos) Diário 02h
Limpeza de backups antigos Diariamente 03:00

Solução de problemas

O backup falha

# Controllare i log
tail -100 /var/www/cnc-ecommerce/storage/logs/laravel.log

# Verificare spazio disco
df -h /home/achille616/backups

# Verificare permessi
ls -la /home/achille616/backups/cnc-ecommerce

O backup está muito grande

Editar config/backup.php para excluir mais pastas:

'exclude' => [
    base_path('vendor'),
    base_path('node_modules'),
    base_path('storage/logs'),
    // Aggiungi qui altre cartelle da escludere
],

🔒 Notas de segurança

  • 1. Backup remoto: considere configurar um segundo disco remoto (S3, FTP)
  • 2. Criptografia: os backups podem ser criptografados com BACKUP_ARCHIVE_PASSWORD
  • 3. Acesso: Somente o usuário achille616 deve ter acesso
  • 4. Teste: Teste regularmente a restauração para garantir que os backups estejam funcionando