3.3 KiB
Système de Sauvegarde Automatique
Vue d'ensemble
Le système de sauvegarde automatique permet de sauvegarder périodiquement votre base de données SQLite avec une rotation automatique limitée à 10 sauvegardes.
Fonctionnalités
- ✅ Sauvegardes périodiques automatiques (quotidienne, hebdomadaire, mensuelle)
- ✅ Rotation automatique (maximum 10 sauvegardes)
- ✅ Sauvegardes manuelles à la demande
- ✅ Restauration de sauvegardes
- ✅ Configuration via l'interface des paramètres
- ✅ Métadonnées stockées dans la base de données
Configuration
Via l'interface
- Allez dans Paramètres → Sauvegardes automatiques
- Activez les sauvegardes automatiques
- Choisissez la fréquence (quotidienne, hebdomadaire, mensuelle)
- Les sauvegardes seront créées automatiquement selon la fréquence choisie
Sauvegarde manuelle
Cliquez sur le bouton "Créer une sauvegarde" dans la section des sauvegardes.
Planification automatique
Sur Vercel
Si vous déployez sur Vercel, le fichier vercel.json configure automatiquement un cron job qui vérifie et crée les sauvegardes quotidiennement à 2h du matin.
En local ou autre hébergement
Pour exécuter les sauvegardes automatiques, vous pouvez :
-
Utiliser un cron job système :
# Exécuter tous les jours à 2h du matin 0 2 * * * cd /chemin/vers/projet && tsx scripts/run-backup.ts -
Appeler l'endpoint API directement :
curl -X POST http://localhost:3000/api/backups/auto -
Utiliser un service de planification externe (comme GitHub Actions, etc.) qui appelle périodiquement
/api/backups/auto
Structure des fichiers
- Sauvegardes :
prisma/backups/backup-YYYY-MM-DDTHH-mm-ss.db - Paramètres :
prisma/backup-settings.json - Métadonnées : Table
Backupdans la base de données
API Endpoints
GET /api/backups- Liste toutes les sauvegardesPOST /api/backups- Créer une sauvegarde manuelleDELETE /api/backups/[id]- Supprimer une sauvegardePOST /api/backups/[id]/restore- Restaurer une sauvegardeGET /api/backups/settings- Obtenir les paramètresPUT /api/backups/settings- Mettre à jour les paramètresPOST /api/backups/auto- Endpoint pour les sauvegardes automatiques (appelé par le cron)
Rotation des sauvegardes
Le système garde automatiquement les 10 sauvegardes les plus récentes. Les sauvegardes plus anciennes sont supprimées automatiquement lors de la création d'une nouvelle sauvegarde.
Restauration
⚠️ Attention : La restauration d'une sauvegarde remplace complètement votre base de données actuelle. Une sauvegarde de sécurité est créée automatiquement avant la restauration.
Pour restaurer une sauvegarde :
- Allez dans Paramètres → Sauvegardes automatiques
- Cliquez sur l'icône de restauration (flèche circulaire) à côté de la sauvegarde souhaitée
- Confirmez la restauration
- La page sera rechargée automatiquement après la restauration
Notes techniques
- Les sauvegardes sont des copies complètes du fichier SQLite
- La taille des sauvegardes dépend de la taille de votre base de données
- Les sauvegardes sont stockées localement dans le dossier
prisma/backups/ - Les métadonnées (nom, taille, date) sont stockées dans la table
Backupde la base de données