Realizar copias de seguridad de WordPress es una medida básica que cualquier web basada en esta plataforma debe tener activa, independientemente del sistema de copias de seguridad que implemente tu proveedor de hosting.

Si tienes acceso SSH a tu servidor web y gestionas un sitio WordPress, wp-cli (command-line interface for WordPress) puede convertirse en una herramienta esencial para la gestión automatizada de muchas tareas, entre ellas la realización de copias de seguridad (y la restauración, en caso necesario).

Con wp-cli y otras herramientas en línea de comandos, puedes realizar varios tipos de copias de seguridad que son fundamentales y diversas, atendiendo a distintas situaciones. Veamos algunos ejemplos, en los que deberás estar con la sesión iniciada en tu consola de servidor web y ubicado en el directorio raíz de tu WordPress (suponiendo que wp-cli está instalado y funcionando).

Copia de seguridad y restauración de la base de datos

El comando wp-cli para generar una copia de la base de datos de WordPress en fichero es:

wp db export

Esto te genera, en el directorio donde lances el comando, un fichero con un nombre del tipo nombrebd-2018-10-04-f803f06.sql que contiene una exportación de la base de datos, con un contenido similar a si lo hubieras hecho con mysqldump.

Tienes la opción de indicar el directorio y el nombre del fichero donde quieres guardar la copia de la base de datos, de la siguiente forma:

wp db export /var/backup/nombrebd-latest.sql

Este comando te genera la copia de seguridad en el fichero nombrebd-latest.sql alojado en el directorio /var/backup de tu servidor.

Ver referencia de wp db export

Si quieres generar la copia de seguridad comprimida en formato gzip:

wp db export - | gzip > /var/backup/nombrebd-$(date +%Y-%m-%d-%H%M%S).sql.gz

Para restaurar una base de datos de WordPress a partir de una copia generada de esta forma:

wp db import /var/backup/nombrebd-latest.sql

Ver referencia de wp db import

Copia de seguridad y restauración de los contenidos

Con wp-cli puedes exportar contenidos de WordPress en formato XML como si lo hicieras desde el propio panel de administración, usando

wp export

Esto genera un fichero con un nombre del tipo nombrebd.wordpress.2018-10-30.000.xml en el directorio donde ejecutes el comando.

Tienes la posibilidad de indicar dónde quieres guardar el fichero generado:

wp export /var/backup/contents-latest.xml

Ver referencia de wp export

Para restaurar contenidos de WordPress a partir de una copia generada de esta forma:

wp import /var/backup/contents-latest.xml  --authors=skip

Como ves, hay que indicar a wp-cli cómo debe gestionar los autores de los contenidos que se están importando; en el ejemplo, con skip, descartamos la gestión de autores. Dispones de varias opciones que puedes ver en la documentación oficial.

Ver referencia de wp import

Copia de seguridad y restauración de ficheros

Para hacer una copia de seguridad de los ficheros de tu WordPress (incluyendo los preciados media alojados en wp-content/uploads) dejamos de lado a wp-cli para usar herramientas propias del sistema:

tar --create --gzip --file=/var/backup/wp_files-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/www/misitiowp

Para precisar más qué se incluye y qué no se incluye en esta copia de ficheros, puedes agregar una o varias opciones --exclude para excluir lo que no quieras copiar. Por ejemplo, el siguiente comando hace la copia de seguridad de todos los ficheros excepto los que sean .tar.gz y lo que esté alojado en el directorio pruebas:

tar --create --gzip --file=/var/backup/wp_files-$(date +%Y-%m-%d-%H%M%S).tar.gz --exclude=*.tar.gz --exclude=/var/www/misitiowp/pruebas /var/www/misitiowp

Para restaurar los ficheros de WordPress a partir de una copia generada de esta forma:

tar -zxf wp_files-2018-10-04-235500.tar.gz

Conclusión

Ya sea con herramientas como wp-cli o con plugins de seguridad de WordPress, es imprescindible que entre las tareas de mantenimiento de WordPress se encuentren la realización periódica de copias de seguridad y el chequeo de que esas copias funcionan correctamente en caso de necesitar restaurarlas.

Partiendo de esta base, es posible automatizar ciertas tareas mediante scripts aunque esto lo dejaremos para otro artículo.

¿Ya utilizas wp-cli para copias de seguridad? No dudes en dejar tu aportación en los comentarios.

 

(Foto de https://www.pexels.com/@inspiredimages)