Habrá algunos motivos por el que deseemos realizar la operación y necesitaremos que se cumplan, puede ser por características del hardware, del OS u otro software del hosting, recursos, seguridad, costes etc, Y habrá que valorar si donde migramos soluciona el motivo de la migración y también cumple con el resto de requisitos que ya cumplía nuestro anterior hosting. Según que casos hay que valorar también la escalabilidad futura y el downtime que pueda tener.

El primer paso es la planificación de la migración, si hay usuarios en el sistema, ¿se va a restringir parte de la funcionalidad temporalmente? ej. capacidad de realizar pedidos y registro de nuevos usuarios, ¿o vamos a realizar una caída del servicio completa?, si es así ¿Por cuánto tiempo?, ¿les avisamos no?

Mi test número uno, hacer pruebas en destino con otro dominio lo más reales posibles, incluyendo actualización/modificación de ficheros por el tema de los permisos, de modo que si se puede resolver obtengamos la configuración definitiva desde el principio. Después se pueden hacer pruebas de carga, y si vemos que vamos a escalar más, considerar separar el servidor del web del de base de datos y por supuesto el de email.

rsync es mi favorito, soporta la interrupción de los envíos, en algunos casos puede llegar a ahorrar bastante tiempo :), también es muy útil para copias de seguridad ya que podemos fácilmente añadirlo a una tarea cron. ej:

rsync -z -r -a -v -e ssh /media/raul/DATOS/tmp/1/media  [email protected]:/var/www/html/magento2

Exportar la base de datos comprimiéndola:

mysqldump -u username -S /var/lib/mysql/mysql.sock -p nombrebbdd | gzip  > /home/admin/tmp/bbddbk/`date +%Y%m%d`nombrebbdd.sql.gz

Que más tarde importaremos:

mysql -u NOMBRE_USUARIO -S /home/ecommerce/tmp/mysql5.sock -p NOMBRE_BD < elZumo.sql

A lo mejor antes del paso anterior si se tratara de una prueba usando otro dominio, podríamos hacer un reemplazar con ‘sed’ ya que será más rápido que hacerlo con un editor que podría atragantarse con el volumen.

$sed -i.bak -e s#ecommerce.com#becommerce.es#g elZumo.sql 

Nota: alternativamente grep, es muy rápido también

Del tema de permisos y otra configuración en productivo ya habrán otras notas.

 


Admin

Becommerce.es es una colección de mis notas a título personal, use at your own risk.

1 comentario

Juan · 5 de abril de 2019 a las 13:19

Hola, tan solo comentar que no me funcionó el script de importar por el mysql5.sock, en mi caso para Debian es /var/run/mysqld/mysqld.sock, lo obtuve por medio de ejecutar mysql> show variables like ‘socket’;
Gracias.

Deja un comentario