Automatización de Copias de Seguridad y Restauración en WordPress con WP-CLI

Hola a todos, hoy vamos a tratar un tema de gran importancia para cualquier persona que administre una página web en WordPress: cómo automatizar las copias de seguridad y la restauración con WP-CLI. Te preguntarás, ¿por qué es tan importante este tema? Pues bien, tener copias de seguridad automáticas de tu sitio web te ofrece la tranquilidad de saber que, si algo sale mal, puedes restaurar tu sitio a una versión anterior sin problemas. Y con WP-CLI, la línea de comandos de WordPress, puedes hacer todo esto de manera eficiente y automática.

Contenido

Conociendo WP-CLI

Para comenzar, vamos a familiarizarnos un poco con WP-CLI. Este es una herramienta muy útil que permite administrar tu sitio WordPress desde la línea de comandos. Esto significa que puedes realizar muchas de las tareas habituales de administración de WordPress, como actualizar plugins, instalar temas, configurar opciones, y sí, también hacer copias de seguridad y restaurar tu sitio, todo desde una simple línea de comandos.

Preparando tu Entorno

Antes de poder empezar con la automatización, es necesario tener instalado WP-CLI en tu servidor. Seguramente ya lo tienes, pero si no es así, puedes descargarlo e instalarlo siguiendo las instrucciones en la página oficial de WP-CLI.

Ahora bien, no podemos pasar por alto que el manejo de comandos puede ser un poco intimidante si no estás acostumbrado. Pero no te preocupes, aquí te explicaremos paso a paso cada uno de los comandos que necesitas para automatizar tus copias de seguridad y restauraciones.

Automatizando Copias de Seguridad con WP-CLI

Una vez preparado el entorno, vamos a ver cómo podemos hacer una copia de seguridad de nuestra página web con WP-CLI.

Para hacer una copia de seguridad completa de tu sitio WordPress, necesitas copiar tanto los archivos de tu instalación de WordPress como la base de datos MySQL. WP-CLI puede ayudarte a exportar la base de datos, pero necesitarás usar otros comandos del sistema para copiar los archivos.

Para exportar tu base de datos, puedes usar el comando wp db export. Este comando generará un archivo SQL con todos los datos de tu base de datos. Por ejemplo, podrías usarlo así:

wp db export backup.sql

Este comando exportará toda tu base de datos a un archivo llamado backup.sql.

Pero esto es solo la mitad de la historia. También necesitas copiar todos los archivos de tu instalación de WordPress. Para esto, puedes usar el comando tar del sistema, que te permite crear un archivo comprimido con todos tus archivos. Por ejemplo, podrías usarlo así:

tar -czf backup.tar.gz /ruta/a/tu/wordpress

Este comando comprimirá todos los archivos de tu instalación de WordPress en un archivo llamado backup.tar.gz.

Automatizando Restauraciones con WP-CLI

Ahora que sabemos cómo hacer una copia de seguridad de nuestro sitio, vamos a ver cómo podemos restaurarlo usando esa copia de seguridad.

Para restaurar tu base de datos, puedes usar el comando wp db import. Este comando te permite importar un archivo SQL a tu base de datos. Por ejemplo, podrías usarlo así:

wp db import backup.sql

Este comando importará todos los datos de tu archivo backup.sql a tu base de datos.

Sin embargo, como antes, esto solo es la mitad de la restauración. También necesitas restaurar los archivos de tu instalación de WordPress. Para esto, puedes usar el comando tar del sistema, que te permite descomprimir un archivo comprimido. Por ejemplo, podrías usarlo así:

tar -xzf backup.tar.gz -C /ruta/a/tu/wordpress

Este comando descomprimirá todos los archivos de tu copia de seguridad en tu carpeta de WordPress.

Automatizando todo el Proceso

Ahora que sabemos cómo hacer una copia de seguridad y cómo restaurarla, podemos pensar en cómo automatizar todo este proceso. Una manera de hacer esto es crear un script del sistema que ejecute todos estos comandos por nosotros.

El script podría parecerse a esto:

#!/bin/bash
# Ruta a tu instalación de WordPress
WP_PATH=/ruta/a/tu/wordpress
# Ruta a tu carpeta de copias de seguridad
BACKUP_PATH=/ruta/a/tus/copias/de/seguridad
# Fecha actual
DATE=$(date +"%Y%m%d")
# Nombre de la copia de seguridad
BACKUP_NAME=backup_$DATE
# Exportar la base de datos
wp --path=$WP_PATH db export $BACKUP_PATH/$BACKUP_NAME.sql
# Copiar los archivos de WordPress
tar -czf $BACKUP_PATH/$BACKUP_NAME.tar.gz $WP_PATH

Este script hace una copia de seguridad tanto de la base de datos como de los archivos de tu sitio WordPress y guarda ambas en la carpeta de copias de seguridad.

De manera similar, podrías crear un script para restaurar tu sitio:

#!/bin/bash
# Ruta a tu instalación de WordPress
WP_PATH=/ruta/a/tu/wordpress
# Ruta a tu carpeta de copias de seguridad
BACKUP_PATH=/ruta/a/tus/copias/de/seguridad
# Nombre de la copia de seguridad a restaurar
BACKUP_NAME=nombre_de_tu_copia_de_seguridad
# Importar la base de datos
wp --path=$WP_PATH db import $BACKUP_PATH/$BACKUP_NAME.sql
# Restaurar los archivos de WordPress
tar -xzf $BACKUP_PATH/$BACKUP_NAME.tar.gz -C $WP_PATH

Este script restaurará tanto la base de datos como los archivos de tu sitio WordPress desde la copia de seguridad.

Programando las Copias de Seguridad

Por último, una vez que tienes tus scripts de copia de seguridad y restauración, puedes programarlos para que se ejecuten automáticamente a intervalos regulares. Para esto, puedes usar la utilidad del sistema cron.

Para abrir el editor de tareas de cron, puedes usar el comando crontab -e. Esto te permitirá agregar una nueva línea para tu tarea de copia de seguridad. Por ejemplo, podrías hacer que tu script de copia de seguridad se ejecute todos los días a las 3 a.m. agregando una línea como esta:

0 3 * * * /ruta/a/tu/script/de/copia/de/seguridad.sh

La línea que has agregado le indica a cron que ejecute el script copia_de_seguridad.sh todos los días a las 3 a.m. Así, todos los días tendrás una copia de seguridad fresca y lista para ser utilizada si algo llegara a fallar.

Y, ¿qué pasa si quieres restaurar tu sitio a partir de una de estas copias de seguridad? Pues solo necesitas ejecutar tu script de restauración con el nombre de la copia de seguridad que quieres utilizar. Por ejemplo, si tienes una copia de seguridad llamada backup_20230528 y quieres restaurar tu sitio a partir de ella, solo necesitas ejecutar tu script de restauración así:

/ruta/a/tu/script/de/restauración.sh backup_20230528

Con esto, tu script de restauración importará la base de datos y restaurará los archivos de tu sitio a partir de la copia de seguridad especificada.

Más allá de las Copias de Seguridad Automáticas

La automatización de copias de seguridad y restauraciones es solo una de las muchas cosas que puedes hacer con WP-CLI. Esta herramienta también te permite instalar y actualizar plugins, cambiar la configuración de tu sitio, gestionar usuarios, y mucho más, todo desde la línea de comandos. Si todavía no estás utilizando WP-CLI para administrar tu sitio WordPress, te animo a que empieces a hacerlo. Te sorprenderá lo mucho que puede simplificar tu trabajo.

Y no olvides: aunque tener copias de seguridad automáticas es genial, siempre debes asegurarte de que esas copias de seguridad son útiles. Esto significa que debes probar tus copias de seguridad regularmente para asegurarte de que puedes restaurar tu sitio a partir de ellas. No hay nada peor que descubrir que tus copias de seguridad no funcionan cuando realmente las necesitas.

Así que ahí lo tienes, una guía detallada de cómo puedes automatizar las copias de seguridad y la restauración de tu sitio WordPress con WP-CLI. Espero que esta información te sea útil y te anime a dar el salto a la administración de sitios WordPress desde la línea de comandos. ¡Hasta la próxima!

Deja una respuesta