Des sauvegardes régulières sont essentielles pour chaque boutique Magento. Dans ce guide, vous apprendrez comment créer et restaurer des sauvegardes complètes.

Que devez-vous sauvegarder ?

Une sauvegarde complète de Magento se compose de :

  • Base de données: Tous les produits, commandes, clients, configuration
  • Médias: Images et téléchargements (`pub/media/`)
  • Code: Code personnalisé et extensions (`app/code/`)
  • Configuration: `app/etc/env.php` et `app/etc/config.php`
  • Thème: Fichiers de thème personnalisés (`app/design/`)

Créer une sauvegarde de la base de données

Via phpMyAdmin

  1. Connectez-vous à DirectAdmin
  2. Allez à phpMyAdmin
  3. Sélectionnez votre base de données Magento
  4. Cliquez sur Exporter
  5. Choisissez Rapide pour une exportation standard
  6. Cliquez sur Exécuter et téléchargez le fichier SQL

Via la ligne de commande

# Naviguez vers la racine de Magento
cd /chemin/vers/magento

# Créez une sauvegarde de la base de données avec un timestamp
mysqldump -u utilisateur -p nom_base_de_données > backup_$(date +%Y%m%d).sql

Vous trouverez les informations de la base de données (nom, utilisateur, mot de passe) dans app/etc/env.php, sous 'db' => 'connection' => 'default'. Pour une boutique qui reste en ligne, ajoutez --single-transaction afin d'obtenir une sauvegarde cohérente sans verrouiller les tables : mysqldump --single-transaction -u utilisateur -p nom_base_de_données > backup.sql.

Via Magento CLI

Magento dispose aussi de sa propre commande de sauvegarde. Cette fonction est désactivée par défaut, activez-la donc d'abord :

bin/magento config:set system/backup/functionality_enabled 1
bin/magento setup:backup --db

Ajoutez --code et --media pour inclure aussi le code et les fichiers médias. Les sauvegardes sont stockées dans var/backups/. Adobe indique que cette fonction est obsolète ; pour les grandes boutiques, mysqldump est plus fiable.

Sauvegarde compressée

Pour les grandes bases de données :

mysqldump -u utilisateur -p nom_base_de_données | gzip > backup_$(date +%Y%m%d).sql.gz

Créer une sauvegarde des fichiers

Via le gestionnaire de fichiers

  1. Allez à Gestionnaire de fichiers dans DirectAdmin
  2. Naviguez vers votre installation Magento
  3. Sélectionnez les dossiers importants :
    • pub/media/ (images)
    • app/code/ (modules personnalisés)
    • app/design/ (thèmes)
    • app/etc/ (configuration)
  4. Cliquez sur Compresser pour créer un ZIP
  5. Téléchargez le ZIP

Via la ligne de commande

# Naviguez vers la racine de Magento
cd /chemin/vers/

# Créez une sauvegarde complète
tar -czvf magento_backup_$(date +%Y%m%d).tar.gz magento/

# Ou seulement des dossiers spécifiques
tar -czvf media_backup_$(date +%Y%m%d).tar.gz magento/pub/media/

Via FTP

  1. Connectez-vous avec un client FTP (FileZilla)
  2. Téléchargez le dossier Magento complet
  3. Ou téléchargez seulement les dossiers critiques

Sauvegarde Magento

Magento a une fonctionnalité de sauvegarde intégrée :

Sauvegarde via Admin

  1. Allez à Système > Outils > Sauvegardes (désactivé par défaut ; activez-le sous Stores > Configuration > Advanced > System > Backup Settings ; Adobe indique que cette fonction est obsolète)
  2. Choisissez le type de sauvegarde :
    • Sauvegarde système: Seulement des fichiers
    • Sauvegarde de la base de données: Seulement la base de données
    • Sauvegarde de la base de données et des médias: Les deux (recommandé)
  3. Cliquez sur le bouton de sauvegarde souhaité
  4. Attendez que la sauvegarde soit complète

Remarque: Cette méthode peut expirer pour les grandes boutiques. Utilisez alors la ligne de commande.

Sauvegarde via CLI

Pour une sauvegarde en ligne de commande, utilisez mysqldump ou bin/magento setup:backup, comme décrit plus haut pour la sauvegarde de la base de données. Les commandes support:backup:db et support:backup:code que vous trouverez dans certains guides font partie des Support Tools d'Adobe Commerce et n'existent pas dans Magento Open Source.

Restaurer une sauvegarde

Restauration de la base de données via phpMyAdmin

  1. Allez à phpMyAdmin
  2. Sélectionnez votre base de données (ou créez-en une nouvelle)
  3. Cliquez sur Importer
  4. Sélectionnez votre fichier de sauvegarde SQL
  5. Cliquez sur Exécuter

Restauration de la base de données via la ligne de commande

# Décompressez si nécessaire
gunzip backup.sql.gz

# Importez la base de données
mysql -u utilisateur -p nom_base_de_données < backup.sql

Restauration des fichiers

  1. Téléchargez la sauvegarde sur le serveur (via FTP ou Gestionnaire de fichiers)
  2. Décompressez l'archive à l'emplacement approprié
  3. Vérifiez les permissions des fichiers
# Décompression
tar -xzvf magento_backup.tar.gz

# Rétablir les permissions
find var generated pub/static pub/media -type d -exec chmod 755 {} \;
find var generated pub/static pub/media -type f -exec chmod 644 {} \;

Actions après restauration

# Mettre à jour la base de données et les modules
bin/magento setup:upgrade

# Vider le cache
bin/magento cache:clean
bin/magento cache:flush

# Reconstruire les index
bin/magento indexer:reindex

# Compiler DI
bin/magento setup:di:compile

# Déployer le contenu statique
bin/magento setup:static-content:deploy nl_NL

Sauvegardes automatiques

Via cronjob

Configurez un cronjob pour des sauvegardes automatiques :

# Sauvegarde quotidienne de la base de données à 3h00
0 3 * * * /usr/bin/mysqldump -u utilisateur -p'motdepasse' nom_base_de_données | gzip > /backups/db_$(date +\%Y\%m\%d).sql.gz

# Sauvegarde complète hebdomadaire le dimanche à 4h00
0 4* * 0 tar -czvf /backups/full_$(date +\%Y\%m\%d).tar.gz /chemin/vers/magento

Rotation des sauvegardes

Supprimez automatiquement les anciennes sauvegardes :

# Supprimez les sauvegardes de plus de 30 jours
find /backups/ -name*.gz" -mtime +30 -delete

Stockage externe des sauvegardes

Conservez les sauvegardes en dehors du serveur :

  • Stockage cloud (AWS S3, Google Cloud, Dropbox)
  • Serveur FTP externe
  • Téléchargement local sur l'ordinateur

Meilleures pratiques

  1. Sauvegardes quotidiennes de la base de données: Automatisez avec des cronjobs
  2. Sauvegardes complètes hebdomadaires: Y compris les fichiers
  3. Testez vos sauvegardes: Restaurez périodiquement dans un environnement de test
  4. Stockage externe: Conservez des copies en dehors du serveur
  5. Documentez: Notez où se trouvent les sauvegardes
  6. Chiffrement: Chiffrez les sauvegardes sensibles
  7. Rétention: Conservez au moins 30 jours d'historique

Articles connexes

  • Installer Magento via Installatron
  • Résoudre les problèmes Magento
  • Configurer des cronjobs dans DirectAdmin

Besoin d'aide ?

Nous sommes là pour vous aider ! Vous rencontrez un problème ou avez des questions ? Notre équipe de support est prête à vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.