Aller au contenu principal

Sauvegarde

Cet extension permet de créer des sauvegardes complètes de votre installation ClientXCMS, incluant les fichiers et la base de données, et de les stocker sur divers fournisseurs de stockage.

Configuration de l'extension

Après avoir installé l'extension, vous pouvez configurer les fournisseurs de sauvegarde dans le panneau d'administration sous Paramètres > Sécurité > Fournisseurs de sauvegarde.

Vous pouvez ajouter plusieurs fournisseurs en cliquant sur le bouton Créer. Sélectionnez le type de fournisseur souhaité (Local, FTP/SFTP, S3, Google Drive) et remplissez les informations requises selon le type choisi.

Vous pouvez également définir définir une fréquence en heures pour les sauvegardes automatiques et le nombre maximum de sauvegardes à conserver par fournisseur.

img

Détails des sauvegardes par fournisseur

Vous pouvez voir les sauvegardes effectuées pour chaque fournisseur en cliquant sur le bouton Afficher à côté de chaque fournisseur dans la liste. Cela affichera la configuration du fournisseur ainsi que la liste des sauvegardes stockées ainsi que les possibles erreurs lors de la tentative de sauvegarde.

img

Gestion des sauvegardes

Vous pouvez gérer les sauvegardes dans le panneau d'administration sous Paramètres > Sécurité > Sauvegardes. img

Ici, vous pouvez voir toutes les sauvegardes effectuées, leur taille, la date de création et le fournisseur utilisé. Vous pouvez également télécharger ou supprimer des sauvegardes individuelles.

Restauration d'une sauvegarde

Pour restaurer une sauvegarde, cliquez sur le bouton Restaurer à côté de la sauvegarde souhaitée. Confirmez l'action et la restauration commencera. Notez que la restauration écrasera les données actuelles, il est donc recommandé de faire une sauvegarde avant de procéder.

Lancer une sauvegarde manuellement

Vous pouvez lancer une sauvegarde manuellement en cliquant sur le bouton Lancer une sauvegarde en bas à droite de la page des sauvegardes. Cela créera une nouvelle sauvegarde immédiatement et l'enverra au fournisseur sélectionné.

Formats de sauvegarde

Les sauvegardes sont créées au format compressé .zip, incluant le dump de la base de données ainsi que les fichiers dans le répertoire storage. Un fichier backup.json est inclus dans l'archive, contenant les métadonnées de la sauvegarde :

{
"uuid": "efa5e9ac-d0db-4c02-81f1-d6f41f9a4902",
"type": "full",
"created_at": "2025-12-20T19:51:51+01:00",
"app_key": "app_XXXXXXXXXXXXXXXX", # utilisé pour la restauration des sauvegardes
"app_url": "test",
"includes_database": true,
"includes_storage": true,
"database_connection": "mysql",
"filename": "backup-efa5e9ac-d0db-4c02-81f1-d6f41f9a4902.zip"
}

Vérification des sauvegardes

L'addon ajoute également un widget dans le tableau de bord de l'administration pour vérifier l'état des sauvegardes. Il affiche la date de la dernière sauvegarde réussie et signale si une sauvegarde est en retard par rapport à la fréquence configurée. img

Commandes

Vous pouvez éxecuter la tâche de sauvegarde avec la commande : php artisan backup:run --force

L'option force permet de forcer l'exécution même si la durée entre deux sauvegardes n'est pas encore écoulée.

Configuration des fournisseurs de sauvegarde

Concepts Importants : Root vs Sub-folder

Avant de configurer un fournisseur, il est crucial de comprendre la différence entre ces deux réglages :

  • Chemin Racine (Root Path) : C'est le dossier de base sur votre serveur distant (ex: / ou /var/backups).
  • Dossier de destination (Sub-folder) : C'est le sous-dossier à l'intérieur de la racine où les fichiers seront stockés. Par défaut, il est réglé sur backups.
    • Astuce : Si vous voulez sauvegarder exactement à l'endroit défini par le "Chemin Racine", laissez le "Sub-folder" vide.

Local (Stockage sur le serveur actuel)

Utile pour les sauvegardes temporaires ou si vous synchronisez ensuite le dossier manuellement.

  • Root Path : Le chemin absolu sur votre serveur (ex: /var/www/clientxcms/storage/backups). Par défaut : storage/backups.
  • Sub-folder : Le sous-dossier dans ce chemin (ex: storage).