Sauvegarde et restauration du système de fichiers, du média et de la base de données
Cette commande permet de sauvegarder :
- Le système de fichiers (à l’exclusion des répertoires
var
etpub/static
) - Répertoire
pub/media
- La base
Les sauvegardes sont stockées dans le répertoire var/backups
et peuvent être restaurées à tout moment à l’aide de la commande magento setup:rollback
.
Après la sauvegarde, vous pouvez restaurer ultérieurement.
Activation des sauvegardes
La fonction de sauvegarde est désactivée par défaut. Pour l’activer, saisissez la commande d’interface de ligne de commande suivante :
bin/magento config:set system/backup/functionality_enabled 1
La fonctionnalité de sauvegarde est obsolète depuis les versions 2.1.16, 2.2.7 et 2.3.0. Nous vous recommandons d’étudier des technologies de sauvegarde supplémentaires et des outils de sauvegarde binaires (tels que Percona XtraBackup).
Définition de la limite des fichiers ouverts
La restauration d’une sauvegarde précédente peut échouer de manière silencieuse, ce qui entraîne l’écriture de données incomplètes dans le système de fichiers ou la base de données à l’aide de la commande magento setup:rollback
.
Parfois, une longue chaîne de requête entraîne une insuffisance de mémoire de l’utilisateur en raison d’un trop grand nombre d’appels récursifs.
Comment définir les fichiers ouverts ulimit
Nous vous recommandons de définir les fichiers ouverts ulimit
pour l’utilisateur du système de fichiers sur une valeur de 65536
ou plus.
Vous pouvez le faire sur la ligne de commande ou en faire un paramètre permanent pour l’utilisateur en modifiant son script shell.
Avant de poursuivre, si ce n’est pas déjà fait, passez à l’propriétaire du système de fichiers.
Commande :
ulimit -s 65536
Si nécessaire, vous pouvez définir cette valeur sur une valeur plus élevée.
ulimit
dépend du shell UNIX que vous utilisez. Le paramètre précédent doit fonctionner avec CentOS et Ubuntu avec le conteneur Bash. Toutefois, pour macOS, le paramètre correct est ulimit -S 65532
. Pour plus d’informations, consultez la page de gestion ou la référence du système d’exploitation.Pour définir éventuellement la valeur dans le conteneur Bash de l’utilisateur :
-
Si vous ne l’avez pas déjà fait, basculez vers le propriétaire du système de fichiers.
-
Ouvrez
/home/<username>/.bashrc
dans un éditeur de texte. -
Ajoutez la ligne suivante :
code language-bash ulimit -s 65536
-
Enregistrez vos modifications dans
.bashrc
et quittez l’éditeur de texte.
pcre.recursion_limit
dans le fichier php.ini
, car cela peut entraîner des restaurations incomplètes sans préavis d’échec.Sauvegarde
Utilisation des commandes :
bin/magento setup:backup [--code] [--media] [--db]
La commande effectue les tâches suivantes :
-
Met le magasin en mode de maintenance.
-
Exécute l’une des options de commande suivantes.
table 0-row-3 1-row-3 2-row-3 3-row-3 Option Signification Nom et emplacement du fichier de sauvegarde --code
Sauvegarde le système de fichiers (à l’exception des répertoires var et pub/static). var/backups/<timestamp>/_filesystem.tgz
--media
Sauvegardez le répertoire pub/média. var/backups/<timestamp>/_filesystem_media.tgz
--db
Sauvegardez la base. var/backups/<timestamp>/_db.sql
-
Supprime le magasin hors mode de maintenance.
par exemple pour sauvegarder le système de fichiers et la base de données,
bin/magento setup:backup --code --db
Messages similaires à l’affichage suivant :
Enabling maintenance mode
Code backup is starting...
Code backup filename: 1434133011_filesystem.tgz (The archive can be uncompressed with 7-Zip on Windows systems)
Code backup path: /var/www/html/magento2/var/backups/1434133011_filesystem.tgz
[SUCCESS]: Code backup completed successfully.
DB backup is starting...
DB backup filename: 1434133011_db.sql
DB backup path: /var/www/html/magento2/var/backups/1434133011_db.sql
[SUCCESS]: DB backup completed successfully.
Disabling maintenance mode
Retour arrière
Cette section explique comment restaurer une sauvegarde que vous avez effectuée précédemment. Vous devez connaître le nom de fichier du fichier de sauvegarde à restaurer.
Pour connaître le nom de vos sauvegardes, saisissez :
bin/magento info:backups:list
La première chaîne du nom du fichier de sauvegarde est l’horodatage.
Pour restaurer une sauvegarde précédente, saisissez :
bin/magento setup:rollback [-c|--code-file="<name>"] [-m|--media-file="<name>"] [-d|--db-file="<name>"]
Par exemple, pour restaurer une sauvegarde multimédia nommée 1440611839_filesystem_media.tgz
, saisissez
bin/magento setup:rollback -m 1440611839_filesystem_media.tgz
Messages similaires à l’affichage suivant :
[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode