Sauvegarde et restauration du système de fichiers, du support 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
) - Le répertoire
pub/media
- La base de données
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 plus tard.
Activer les sauvegardes
La fonctionnalité 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 à partir des versions 2.1.16, 2.2.7 et 2.3.0. Nous vous recommandons d’étudier d’autres technologies de sauvegarde et outils de sauvegarde binaire (tels que Percona XtraBackup).
Définir la limite des fichiers ouverts
La restauration d’une sauvegarde précédente peut échouer en silence, 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 saturation de la mémoire allouée à l’utilisateur en raison d’un trop grand nombre d’appels récursifs.
Comment définir des fichiers ouverts ulimit
Nous vous recommandons de définir la ulimit
des fichiers ouverts pour l’utilisateur du système de fichiers sur une valeur de 65536
ou plus.
Vous pouvez effectuer cette opération sur la ligne de commande ou en faire un paramètre permanent pour l’utilisateur en modifiant son script shell.
Avant de poursuivre, si vous ne l’avez pas déjà fait, passez au propriétaire du système de fichiers.
Commande :
ulimit -s 65536
Si nécessaire, vous pouvez augmenter cette valeur.
ulimit
de fichiers ouverts dépend du shell UNIX utilisé. Le paramètre précédent doit fonctionner avec CentOS et Ubuntu avec le shell Bash. Toutefois, pour macOS, le paramètre correct est ulimit -S 65532
. Consultez une page de manuel ou une référence de système d’exploitation pour plus d’informations.Pour définir éventuellement la valeur dans le shell 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 avertissement 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’exclusion des répertoires var et pub/static). var/backups/<timestamp>/_filesystem.tgz
--media
Sauvegardez le répertoire pub/media. var/backups/<timestamp>/_filesystem_media.tgz
--db
Sauvegardez la base de données. var/backups/<timestamp>/_db.sql
-
Permet de sortir le magasin du mode de maintenance.
Par exemple, pour sauvegarder le système de fichiers et la base de données :
bin/magento setup:backup --code --db
Des messages similaires à ce qui suit s’affichent :
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
Restaurer
Cette section explique comment restaurer une sauvegarde que vous avez effectuée précédemment. Vous devez connaître le nom du fichier de sauvegarde à restaurer.
Pour trouver le nom de vos sauvegardes, saisissez :
bin/magento info:backups:list
La première chaîne du nom du fichier de sauvegarde est la date et l’heure.
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 de média nommée 1440611839_filesystem_media.tgz
, saisissez
bin/magento setup:rollback -m 1440611839_filesystem_media.tgz
Des messages similaires à ce qui suit s’affichent :
[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode