备份系统

14. 系统管理

备份系统

该系统使用 Spatie Laravel Backup 自动创建数据库和文件的备份,从而确保数据安全,并在必要时能够进行恢复。

📦 备份配置

  • 备份文件夹: /home/achille616/backups/cnc-ecommerce
  • 数据库备份频率:每 6 小时一次(00:00、06:00、12:00、18:00)
  • 完整备份频率:每天 02:00
  • 自动清理:每天 03:00
  • 保留期限:所有备份保留7天
  • 通知:通过电子邮件发送至 info@cncsimulator.it 发送成功/错误通知

可用命令

创建手动备份

# 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

查看可用备份

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

清理旧备份

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

监控备份状态

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

⚡ 在执行关键操作前进行手动备份

在进行重大更新或数据库修改之前,请务必执行手动备份:

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

监控与通知

系统会自动向 info@cncsimulator.it 以下情况:

  • ✅ 备份成功完成
  • ❌ 备份失败
  • ⚠️ 备份状态异常(过旧或过大)
  • 🧹 清理已完成

自动计划

备份已配置为通过 Laravel 的任务计划程序自动执行:

备份类型 频率 时间
数据库 每6小时 00:00、06:00、12:00、18:00
完整(数据库 + 文件) 每日 02:00
清理旧备份 每日 03:00

故障排除

备份失败

# 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

备份文件过大

编辑 config/backup.php 以排除更多文件夹:

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

🔒 安全注意事项

  • 1. 远程备份:请考虑配置第二个远程存储空间(S3、FTP)
  • 2. 加密:可使用以下方式对备份进行加密 BACKUP_ARCHIVE_PASSWORD
  • 3. 访问权限:仅限用户 achille616 才应具有访问权限
  • 4. 测试:定期测试恢复操作,以确保备份正常工作