Créer et restaurer une sauvegarde Magento : guide
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
- Connectez-vous à DirectAdmin
- Allez à phpMyAdmin
- Sélectionnez votre base de données Magento
- Cliquez sur Exporter
- Choisissez Rapide pour une exportation standard
- 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
- Allez à Gestionnaire de fichiers dans DirectAdmin
- Naviguez vers votre installation Magento
- Sélectionnez les dossiers importants :
pub/media/(images)app/code/(modules personnalisés)app/design/(thèmes)app/etc/(configuration)- Cliquez sur Compresser pour créer un ZIP
- 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
- Connectez-vous avec un client FTP (FileZilla)
- Téléchargez le dossier Magento complet
- Ou téléchargez seulement les dossiers critiques
Sauvegarde Magento
Magento a une fonctionnalité de sauvegarde intégrée :
Sauvegarde via Admin
- 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)
- 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é)
- Cliquez sur le bouton de sauvegarde souhaité
- 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
- Allez à phpMyAdmin
- Sélectionnez votre base de données (ou créez-en une nouvelle)
- Cliquez sur Importer
- Sélectionnez votre fichier de sauvegarde SQL
- 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
- Téléchargez la sauvegarde sur le serveur (via FTP ou Gestionnaire de fichiers)
- Décompressez l'archive à l'emplacement approprié
- 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
- Sauvegardes quotidiennes de la base de données: Automatisez avec des cronjobs
- Sauvegardes complètes hebdomadaires: Y compris les fichiers
- Testez vos sauvegardes: Restaurez périodiquement dans un environnement de test
- Stockage externe: Conservez des copies en dehors du serveur
- Documentez: Notez où se trouvent les sauvegardes
- Chiffrement: Chiffrez les sauvegardes sensibles
- 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.
0 sur 0 ont trouvé cet article utile