Fazer backup e reverter o sistema de arquivos, a mídia e o banco de dados

Esse comando permite fazer backup:

  • O sistema de arquivos (excluindo var e pub/static diretórios)
  • A variável pub/media diretório
  • O banco de dados

Os backups são armazenados no var/backups e podem ser restaurados a qualquer momento usando o magento setup:rollback comando.

Após o backup, é possível reversão posteriormente.

TIP
Para projetos de infraestrutura em nuvem do Adobe Commerce, consulte Gerenciamento de snapshots e backup no Guia da nuvem.

Habilitar backups

O recurso de backup está desativado por padrão. Para habilitar, digite o seguinte comando da CLI:

bin/magento config:set system/backup/functionality_enabled 1
WARNING
Aviso de desativação:
A funcionalidade de backup está obsoleta a partir das versões 2.1.16, 2.2.7 e 2.3.0. Recomendamos investigar tecnologias adicionais de backup e ferramentas binárias de backup (como o Percona XtraBackup).

Definir o limite de arquivos abertos

A reversão para um backup anterior pode falhar silenciosamente, resultando na gravação de dados incompletos no sistema de arquivos ou no banco de dados usando o magento setup:rollback comando.

Às vezes, uma longa sequência de consulta faz com que o espaço de memória alocado do usuário fique sem memória devido a muitas chamadas recursivas.

Como definir arquivos abertos ulimit

Recomendamos definir os arquivos abertos ulimit para o usuário do sistema de arquivos com um valor de 65536 ou mais.

Você pode fazer isso na linha de comando ou pode torná-lo uma configuração permanente para o usuário, editando seu shell script.

Antes de continuar, se ainda não tiver feito isso, alterne para o proprietário do sistema de arquivos.

Comando:

ulimit -s 65536

Você pode alterá-la para um valor maior, se necessário.

NOTE
A sintaxe para arquivos abertos ulimit depende do shell UNIX usado. A configuração anterior deve funcionar com CentOS e Ubuntu com o shell Bash. No entanto, para o macOS, a configuração correta é ulimit -S 65532. Consulte uma página de manual ou referência de sistema operacional para obter mais informações.

Para definir opcionalmente o valor no shell Bash do usuário:

  1. Se ainda não tiver feito isso, alterne para a guia proprietário do sistema de arquivos.

  2. Abertura /home/<username>/.bashrc em um editor de texto.

  3. Adicione a seguinte linha:

    code language-bash
    ulimit -s 65536
    
  4. Salvar as alterações em .bashrc e saia do editor de texto.

WARNING
Recomendamos que você evite definir um valor para pcre.recursion_limit no php.ini porque pode resultar em reversões incompletas sem aviso de falha.

Fazendo backup

Uso do comando:

bin/magento setup:backup [--code] [--media] [--db]

O comando executa as seguintes tarefas:

  1. Coloca o armazenamento no modo de manutenção.

  2. Executa uma das seguintes opções de comando.

    table 0-row-3 1-row-3 2-row-3 3-row-3
    Opção Significado Nome e local do arquivo de backup
    --code Faz backup do sistema de arquivos (excluindo os diretórios var e pub/static). var/backups/<timestamp>/_filesystem.tgz
    --media Faça backup do diretório pub/media. var/backups/<timestamp>/_filesystem_media.tgz
    --db Faça backup do banco de dados. var/backups/<timestamp>/_db.sql
  3. Retira o armazenamento do modo de manutenção.

Por exemplo, para fazer backup do sistema de arquivos e do banco de dados,

bin/magento setup:backup --code --db

Mensagens semelhantes a esta são exibidas:

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

Reversão

Esta seção discute como reverter para um backup feito anteriormente. Você deve saber o nome do arquivo de backup a ser restaurado.

Para localizar o nome dos seus backups, informe:

bin/magento info:backups:list

A primeira string no nome do arquivo de backup é o carimbo de data e hora.

Para efetuar rollback para um backup anterior, informe:

bin/magento setup:rollback [-c|--code-file="<name>"] [-m|--media-file="<name>"] [-d|--db-file="<name>"]

Por exemplo, para restaurar um backup de mídia chamado 1440611839_filesystem_media.tgz, insira

bin/magento setup:rollback -m 1440611839_filesystem_media.tgz

Mensagens semelhantes a esta são exibidas:

[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode
recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995