Realizar una copia de seguridad y una reversión del sistema de archivos, medios y base de datos
Este comando le permite realizar una copia de seguridad:
- El sistema de archivos (excluyendo
var
ypub/static
directorios) - El directorio
pub/media
- La base de datos
Las copias de seguridad se almacenan en el directorio var/backups
y se pueden restaurar en cualquier momento mediante el comando magento setup:rollback
.
Después de hacer la copia de seguridad, puedes revertir más tarde.
Habilitar copias de seguridad
La función de copia de seguridad está desactivada de forma predeterminada. Para habilitarlo, introduzca el siguiente comando de CLI:
bin/magento config:set system/backup/functionality_enabled 1
La funcionalidad de copia de seguridad quedará obsoleta a partir de las versiones 2.1.16, 2.2.7 y 2.3.0. Recomendamos investigar tecnologías de copia de seguridad adicionales y herramientas de copia de seguridad binaria (como Percona XtraBackup).
Establecer el límite de archivos abiertos
Si se vuelve a una copia de seguridad anterior, se pueden producir errores de forma silenciosa, lo que hace que se escriban datos incompletos en el sistema de archivos o en la base de datos con el comando magento setup:rollback
.
A veces, una cadena de consulta larga hace que el espacio de memoria asignado al usuario se quede sin memoria debido a demasiadas llamadas recursivas.
Cómo establecer los archivos abiertos ulimit
Se recomienda establecer los archivos abiertos ulimit
para el usuario del sistema de archivos en un valor de 65536
o más.
Puede hacerlo en la línea de comandos o puede convertirlo en un ajuste permanente para el usuario editando su script shell.
Antes de continuar, si aún no lo ha hecho, cambie al propietario del sistema de archivos.
Comando:
ulimit -s 65536
Puede cambiarlo a un valor mayor si es necesario.
ulimit
depende del shell de UNIX que utilice. La configuración anterior debería funcionar con CentOS y Ubuntu con el shell de Bash. Sin embargo, para macOS, la configuración correcta es ulimit -S 65532
. Consulte una página de comando man o una referencia del sistema operativo para obtener más información.Para establecer de forma opcional el valor en el shell de Bash del usuario:
-
Si aún no lo ha hecho, cambie al propietario del sistema de archivos.
-
Abra
/home/<username>/.bashrc
en un editor de texto. -
Añada la línea siguiente:
code language-bash ulimit -s 65536
-
Guarde los cambios en
.bashrc
y salga del editor de texto.
pcre.recursion_limit
en el archivo php.ini
, ya que puede provocar reversiones incompletas sin previo aviso de error.Copia de seguridad
Uso de comandos:
bin/magento setup:backup [--code] [--media] [--db]
El comando realiza las siguientes tareas:
-
Pone el almacén en modo de mantenimiento.
-
Ejecuta una de las siguientes opciones de comando.
table 0-row-3 1-row-3 2-row-3 3-row-3 Opción Significado Nombre y ubicación del archivo de copia de seguridad --code
Realiza una copia de seguridad del sistema de archivos (excepto de los directorios var y pub/static). var/backups/<timestamp>/_filesystem.tgz
--media
Haga una copia de seguridad del directorio pub/media. var/backups/<timestamp>/_filesystem_media.tgz
--db
Haga una copia de seguridad de la base de datos. var/backups/<timestamp>/_db.sql
-
Elimina el almacén del modo de mantenimiento.
Por ejemplo, para realizar una copia de seguridad del sistema de archivos y la base de datos,
bin/magento setup:backup --code --db
Se muestran mensajes similares a los siguientes:
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
Reversión
En esta sección se explica cómo revertir a una copia de seguridad realizada anteriormente. Debe conocer el nombre de archivo del archivo de copia de seguridad que desea restaurar.
Para buscar el nombre de las copias de seguridad, introduzca:
bin/magento info:backups:list
La primera cadena del nombre del archivo de copia de seguridad es la marca de tiempo.
Para revertir a una copia de seguridad anterior, introduzca:
bin/magento setup:rollback [-c|--code-file="<name>"] [-m|--media-file="<name>"] [-d|--db-file="<name>"]
Por ejemplo, para restaurar una copia de seguridad de medios denominada 1440611839_filesystem_media.tgz
, escriba
bin/magento setup:rollback -m 1440611839_filesystem_media.tgz
Se muestran mensajes similares a los siguientes:
[SUCCESS]: Media rollback completed successfully.
Please set file permission of bin/magento to executable
Disabling maintenance mode