Continuando con el tema de migraciones (la semana pasada mostré en un artículo cómo importar una base de datos de gran tamaño), esta vez quiero mostrarles un método simple para migrar contenido de un servidor a otro.
Hago esto porque he visto que para migrar un sitio algunos “programadores” descargan todo el sitio en su computadora y luego lo suben al servidor destino, ya sea por FTP o a través del Cpanel.
Como en Bolivia el internet es un asco (y encima caro) a diferencia de nuestros países vecinos, pues no hace falta decir que el proceso mencionado es muy ineficiente.
Es por ello que un simple script en PHP va a simplificarnos este proceso y hará en segundos (o minutos dependiendo del tamaño del sitio) algo que nos tomaría mucho más tiempo en hacerlo de la forma anteriormente descrita.
¿Qué necesitamos?
Lo único que vamos a necesitar es:
– La URL donde podamos descargar el archivo comprimido de lo que queremos transferir o copiar.
– Script PHP que realizará el proceso de copiado a través de la función copy
Instrucciones
1) Lo primero es comprimir todo el contenido del sitio desde el cpanel.
2) Una vez tengamos el archivo zip del contenido a migrar, verificamos si este archivo es accesible desde la URL respectiva del servidor origen.
Por ejemplo, ingresando a:
www.tu-sitio-web-origen.com/contenido-comprimido.zip
debería aparecerte la opción de descargar el archivo. Si es así, esto quiere decir que la ruta es accesible de modo que podemos proceder con el siguiente paso.
Recuerda, no descargues el archivo puesto que eso es lo que queremos evitar. La idea es que el script haga el copiado del archivo directamente desde el servidor destino, sin necesidad de pasar por tu computadora en el proceso.
3) Lo siguiente es crear nuestro script PHP para realizar el proceso de copiado:
<?php $remote_file_url = 'http://tu-sitio-web-origen.com/contenido-comprimido.zip'; $local_file = 'archivo-destino.zip'; $copy = copy($remote_file_url, $local_file); if ($copy) { echo "Archivo copiado exitosamente!"; } else { echo "Operacion fallida: El archivo no se copio..."; } ?>
4) Una vez tengamos nuestro archivo PHP creado (por ejemplo: mi-script.php), lo subimos al servidor destino (por cpanel o FTP) y lo ejecutamos ingresando a la URL correspondiente.
Por ejemplo:
www.tu-sitio-web-destino.com/mi-script.php
Y eso es todo. Ahora sólo nos tocará esperar. Este tiempo dependerá mucho del tamaño del archivo comprimido a copiar y de la velocidad de tu servidor.
No te preocupes si tu velocidad de internet es lenta ya que el script, al estar en el servidor, utilizará la velocidad del hosting y no la tuya. Es decir que incluso si tienes una velocidad de 128 Kbps no debería sorprenderte el hecho de que el script copie varios Gigabytes en tan solo un par de segundos o minutos.
Una vez el script haya terminado su tarea y el mensaje que te aparezca sea de éxito, lo único que quedará por hacer es revisar en tu servidor destino la ubicación donde tienes el script para ver ahí mismo a tu nuevo archivo zip perfectamente copiado. A partir de ese momento, lo que resta quedará está en tus manos.
Espero que esto te haya sido útil. No te olvides de dejar tu comentario.