Sauvegarde de la base de données
Vous pouvez créer une copie de votre base de données à l’aide de la commande ece-tools db-dump
sans capturer toutes les données d’environnement des services et des montages. Par défaut, cette commande crée des sauvegardes dans le répertoire app/var/
pour toutes les connexions à la base de données spécifiées dans la configuration de l'environnement. L’opération de vidage de la base de données fait passer l’application en mode de maintenance, arrête les processus de file d’attente des clients et désactive les tâches cron avant que le vidage ne commence.
Tenez compte des instructions suivantes pour l’image mémoire de la base de données :
- Pour les environnements de production, Adobe recommande d’effectuer les opérations de vidage de la base de données pendant les heures creuses afin de minimiser les interruptions de service qui se produisent lorsque le site est en mode de maintenance.
- Si une erreur se produit lors de l’opération de vidage, la commande supprime le fichier de vidage pour préserver l’espace disque. Consultez les journaux pour plus de détails (
var/log/cloud.log
). - Pour les environnements de production Pro, cette commande n’effectue le vidage qu’à partir de un des trois nœuds à haute disponibilité, de sorte que les données de production écrites sur un autre nœud au cours du vidage peuvent ne pas être copiées. La commande génère un fichier
var/dbdump.lock
pour empêcher l’exécution de la commande sur plusieurs nœuds. - Pour une sauvegarde de tous les services d’environnement, Adobe recommande de créer une sauvegarde.
Vous pouvez choisir de sauvegarder plusieurs bases de données en ajoutant les noms de base de données à la commande . L'exemple suivant sauvegarde deux bases de données : main
et sales
:
php vendor/bin/ece-tools db-dump main sales
Utilisez la commande php vendor/bin/ece-tools db-dump --help
pour accéder à plus d’options :
--dump-directory=<dir>
: sélectionnez un répertoire cible pour l'image mémoire de la base de données. Ne choisissez pas les répertoires Web publics tels quepub/media
oupub/static
.--remove-definers
—Supprimez les instructions DEFINER de l'image mémoire de la base de données.
Pour créer une image mémoire de base de données dans l’environnement d’évaluation ou de production :
-
Utilisez SSH pour vous connecter ou créez un tunnel pour vous connecter à l’environnement distant qui contient la base de données à copier.
-
Répertoriez les relations entre les environnements et notez les informations de connexion à la base de données.
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
ou
code language-bash php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"]))->database);'
-
Créez une sauvegarde de la base de données. Pour choisir un répertoire cible pour l’image mémoire de la base de données, utilisez l’option
--dump-directory
.note warning WARNING Si vous spécifiez un répertoire cible, ne choisissez pas de répertoires web publics tels que pub/media
oupub/static
.code language-bash php vendor/bin/ece-tools db-dump -- main
Exemple de réponse :
code language-none The db-dump operation switches the site to maintenance mode, stops all active cron jobs and consumer queue processes, and disables cron jobs before starting the dump process. Your site will not receive any traffic until the operation completes. Do you wish to proceed with this process? (y/N)? y 2020-01-28 16:38:08] INFO: Starting backup. [2020-01-28 16:38:08] NOTICE: Enabling Maintenance mode [2020-01-28 16:38:10] INFO: Trying to kill running cron jobs and consumers processes [2020-01-28 16:38:10] INFO: Running Magento cron and consumers processes were not found. [2020-01-28 16:38:10] INFO: Waiting for lock on db dump. [2020-01-28 16:38:10] INFO: Start creation DB dump for main database... [2020-01-28 16:38:10] INFO: Finished DB dump for main database, it can be found here: /app/qxmtlseakof6y/var/dump-main-1580229490.sql.gz [2020-01-28 16:38:10] INFO: Backup completed. [2020-01-28 16:38:11] NOTICE: Maintenance mode is disabled.
-
La commande
db-dump
crée un fichier d’archivedump-<timestamp>.sql.gz
dans le répertoire de projet distant.