Copiar un Drupal de un servidor remoto a local

Se me hace muy necesario en determinadas circunstancias hacer una copia de una instalación de Drupal en un servidor y ejecutarla en local. Esta necesidad viene porque quiero hacer pruebas que sé que pueden afectar seriamente a la funcionalidad y que me puedo cargar el entorno, así que necesito tener la seguridad de que si eso ocurre no va a haber ningún problema. Si me copio el entorno en mi máquina local y la fastidio no va a haber ningún problema.

Para realizar todo esto lo mejor es crear un script que lo haga todo de forma automática, pues sería un serio engorro tener que hacerlo manualmente porque es una tarea bastante habitual en mi trabajo. Así que vamos a editar un archivo para crear esta tarea tan recurrente:

Cómo sabéis los que leéis el blog, me gusta tener todos los scripts en la carpeta local /opt/scripts. En primer lugar lo que quiero es colocarme en la carpeta donde guardo las copias de seguridad de los sites, que para mí siempre es /backup:

 

Ahora, y como ya vimos en artículos anteriores, vamos a ejecutar una serie de comandos en el server remoto mediante SSH. Si tenemos bien configuradas las variables de entorno y las SSH keys, no tendremos que preocuparnos de la IP del server ni de su contraseña:

 

Como podemos ver, nos conectamos al servidor remoto y vamos a la carpeta donde está instalado nuestro Drupal 7. Asumimos que tenemos instalado Drush y realizamos una copia de seguridad de la base de datos y de los archivos. Una ver terminada, lo que haremos será conectarnos con el comando scp para descargar en local esas copias de seguridad:

 

Ahora vamos al directorio local donde tendremos la copia de drupal que queremos sustituir y eliminamos la base de datos que utiliza y la creamos de nuevo mediante el archivo que acabamos de descargar (asegurarnos de que el nombre de la base de datos es el mismo que el que tenemos en el servidor remoto). Después restauramos los archivos también:

 

Antes de nada, debemos tener una copia del archivo settings.php apuntando a nuestra base de datos local. Cuando restauramos los archivos de una copia no nos guarda el settings.php remoto por motivos de seguridad, así que debemos crearlo tras restaurar. La forma más rápida es tener una copia que podamos mover a la instalación restaurada:

Ahora sencillamente tenemos que borrar las cachés, ya que vendrán heredadas de la instalación del servidor remoto y nos pueden generar problemas. Lo que debemos hacer es colocarnos en el directorio de nuestra instalación Drupal en local y borrarlas con Drush:

Ahora guardamos el archivo con CNTRL+O y salimos con CNTRL+X y si tenemos los permisos necesarios ya podremos ejecutar el proceso.

Experto en la Gestión de Proyectos Web basados en Drupal con más de 8 años de experiencia. Desarrollo Full Stack (Front-end, Back-end, Site-Builder).

No Replies to "Copiar un Drupal de un servidor remoto a local"