Utilidades

Guía para hacer backups sin plugins en WordPress

10/11/2017

Este artículo es la continuación del artículo referente a hacer backup con plugins en WordPress. En este artículo vamos a aprender a realizar backups sin plugins.

Backups sin plugins

Ahora vamos a explicar cómo realizar backups sin plugins tanto en Linux como en Windows, y cómo restaurar dichos backups.

Backup de WordPress en Linux

Primero empezaremos por Linux.

Base de datos

El primer elemento del que vamos a hacer un backup es de la base de datos.
Primero tenemos que saber el nombre de la base de datos que utiliza WordPress, así como el usuario, la contraseña y el host en el que se aloja la base de datos. Lo haremos viendo los datos de conexión del fichero wp-config.php.
Para ello, nos situamos en el documentroot del dominio y ejecutamos los siguientes comandos:

cat wp-config.php |grep DB_NAME
cat wp-config.php |grep DB_USER
cat wp-config.php |grep DB_PASSWORD
cat wp-config.php |grep DB_HOST


En la imagen podemos ver que el nombre de la base de datos del ejemplo es ex1db, el nombre del usuario con privilegios en dicha base de datos es ex1dbuser, la contraseña del usuario es ex1dbpass y el host en el que está situada la base de datos es localhost.
Lo más habitual es que la base de datos esté dentro del mismo host en el que están los dominios, pero podría darse el caso de que esté fuera.

Para hacer un backup introducimos el siguiente comando:

mysqldump -u usuario -pcontraseña nombre_base_datos -h host > fichero_salida.sql

En el ejemplo el comando que hay que introducir es:

mysqldump -u ex1dbuser -pex1dbpass ex1db > ex1db.sql

Directorio de WordPress

A continuación vamos a hacer un backup del directorio donde se encuentra WordPress. Es recomendable guardar el volcado de la base de datos dentro del documentroot para que se guarde todo junto.

cd /var/www/example1.com/html
tar -czvf backup_example1.tgz *

Ya tenemos el backup tanto del directorio como de la base de datos.

Restaurar backup

Ahora vamos a restaurar la instalación de WordPress en otro dominio.

Primero movemos el fichero comprimido al nuevo documentroot (que en el ejemplo es /var/www/example2.com/html).

cp backup_example1.tgz /var/www/example2.com/html/

Luego descomprimimos el fichero resultante.

cd /var/www/example2.com/html/
tar -xzvf backup_example1.tgz

Ahora tendremos en el nuevo documentroot los ficheros del documentroot viejo.

Ahora vamos a restaurar la base de datos. Para probar que funciona la restauración, vamos a crear una nueva base de datos a partir de la anterior, y también vamos a crear un nuevo usuario.

mysql -u root -proot -se 'create database ex2db;'
mysql -u root -proot ex2db < ex1db.sql
mysql -u root -proot -se "grant all privileges on ex2db.* to 'ex2dbuser'@'localhost' identified by 'ex2dbpass';"
mysql -u root -proot -se 'flush privileges;'

Ya hemos restaurado la base de datos y los ficheros.
Ahora debemos editar el fichero wp-config.php para que se conecte a la nueva base de datos.
Simplemente debemos cambiar los valores de los campos que hay a la derecha de DB_NAME, DB_USER, DB_PASSWORD y DB_HOST.

En la siguiente captura podemos ver que se ha restaurado el sitio web del dominio.

Script para realizar la copia de seguridad

A continuación vamos a compartir un script que hemos creado para realizar copias de seguridad de forma automática.

Descargar script para realizar copias de seguridad

Primero descarga el script, después introduce el comandotar -xzvf backup_wordpress.tgz y después ejecútalo con sh backup_wordpress.sh.

Edita el fichero para especificar el nombre del fichero resultante (nombre), la ruta del directorio, o documentroot (DOCROOT) y la ruta relativa desde el documentroot en el que quieres guardar las copias (BACKUP_PATH).
Puedes poner la ruta absoluta en BACKUP_PATH, pero para que funcione el script deberás comentar (#) el comando tar --exclude=$BACKUP_PATH -czf $BACKUP_PATH/$nombre'_'$DATE.tgz . y descomentar el comando #tar -czf $BACKUP_PATH/$nombre'_'$DATE.tgz ..

Podemos programar las copias de seguridad utilizando un servicio llamado 'cron'.
La primera vez que ejecutamos crontab -e, se nos pide que indiquemos el editor que queremos utilizar.

Un ejemplo de un cron podría ser el siguiente:

0 18 * * 5 SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin /var/www/example2.com/html/backup_wordpress.sh

Los valores que hemos introducido son: minuto (m), hora (h), día del mes (dom), mes (mon), día de la semana (dow) y por último el comando a introducir (command).

En el ejemplo hemos hecho que las copias se hagan todos los viernes (5) a las 18:00 (0 18). Si se dan estas condiciones se hace la copia de seguridad independientemente del día numérico (*) y del mes (*).

Si se quiere indicar otra copia de seguridad se pondría en otra línea. Por ejemplo el día 1 de todos los meses a las 22:00 sería 0 22 1 * * SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin /var/www/example2.com/html/backup_wordpress.sh.

Nota: El día de la semana va de domingo ('0' ó '7') a sábado ('6').

Backup de WordPress en Windows

Ahora haremos lo mismo pero en Windows.

Base de datos

Ahora vamos a proceder a realizar la copia de seguridad en Windows.

Para hacer una copia de la base de datos en phpMyAdmin, selecciona la base de datos (en nuestro caso 'wp_conekia'), selecciona la pestaña 'Exportar' y pulsa 'Ir'. Con esto se hará la copia de toda la base de datos.

Directorio de WordPress

Para hacer una copia de seguridad de WordPress, simplemente debemos copiar la carpeta de WordPress que estará en el XAMPP o WAMP (en nuestro caso está en D:\XAMPP\htdocs).

Restaurar backup

Con los dos ficheros (la base de datos y la carpeta de WordPress), podemos restaurar WordPress.

Restaurar directorio de WordPress

En este caso no disponemos de dos máquinas, por lo que vamos a copiar la carpeta de WordPress ('wp_conekia'), vamos a borrar la original y a renombrar la copiada a 'wp_conekia').

En la captura anterior hemos copiado la carpeta 'wp_conekia' y hemos llamado a la copia 'conekia2'. Esta carpeta 'conekia2' es la copia de 'wp_conekia', y es la que vamos a utilizar para demostrar que aunque perdamos la original, podemos restaurar WordPress desde un backup.

Borramos la carpeta original ('wp_conekia').

Renombramos 'conekia2' a 'wp_conekia'.

Y ahora ya tenemos la copia de seguridad como si fuese la original. Este paso tendría sentido si se tratase de un backup más antiguo que queremos restaurar, pero dado que no tenemos un backup más antiguo, ni tampoco otra máquina en la que restaurar el backup, hemos realizado este paso a modo de ejemplo.

Restaurar base de datos

Creamos una base de datos llamada 'wp2_conekia', que es la que vamos a utilizar para conectar con WordPress.

En la siguiente captura vemos la base de datos creada pero observamos que no tiene tablas.

Podemos observar en la siguiente captura cómo importar la base de datos.

Para ello seleccionamos la base de datos sobre la que se va a importar. En nuestro caso es 'wp2_conekia'. Pinchamos sobre la pestaña 'Importar'. Después pulsamos sobre 'Explorar' para buscar en el ordenador el archivo generado por phpMyAdmin cuando exportamos la base de datos anterior (el archivo se llama 'wp_conekia.sql'). Por último le damos a 'Ir' para que se importe la base de datos anterior a la nueva base de datos.

En la siguiente captura observamos que la importación se ha realizado con éxito.

Lo recomendable ahora sería crear un nuevo usuario y utilizarlo para conectase a la base de datos, aunque eso ya lo explicamos en la guía para instalar WordPress en Windows, así que vamos a utilizar el usuario por defecto ('root', que además no tiene contraseña).

Configurar wp-config

Vamos a utilizar la base de datos que acabamos de crear para que se pueda conectar WordPress.

No es necesario renombrar la base de datos. Sólo debemos editar el fichero 'wp-config.php' e indicarle a qué base de datos se tiene que conectar WordPress (la nueva base de datos que hemos creado es 'wp2_conekia'), el usuario con el que se conecta y la contraseña que utiliza (por medidas de seguridad es recomendable cambiar este usuario).

En la siguiente captura podemos observar que WordPress se ha restaurado correctamente.

Y con esto concluímos como hacer backups sin plugins.

Para terminar

Por un lado podemos realizar las copias de seguridad por medio de un plugin. La ventaja de usar plugins es que es muy sencillo programar las copias de seguridad, debido en parte a que no se requiere ningún tipo de conocimiento de los sistemas. La desventaja es que los plugins no son fiables al 100%, y además el uso de los plugins ralentiza la web. Eso sin contar que una gran cantidad de plugins suponen un riesgo para la seguridad, unos porque tienen graves vulnerabilidades debido a que los desarrolladores no tomaron en cuenta esas posibles vulnerabilidades, y otros debido a que crean dichas vulnerabilidades de forma intencionada.

Por otro lado podemos realizar backups sin plugins. La ventaja es que este método no supone un riesgo para la seguridad debido a que la copia la hacemos de forma interna. El inconveniente es que hay que tener ciertos conocimientos de los sistemas, o si no se tienen, seguir minuciosamente ciertas guías para poder realizar dichas copias, y por supuesto, antes de dar por sentado que algo funcionará, hay que probar que efectivamente funciona.

Resumiendo, ambos métodos son buenos (siempre y cuando elijas un plugin de una fuente fiable), pero debes usar aquél con el que más cómodo te sientas.

Con nuestro hosting WordPress administrado podrás olvidarte de tener que realizar backups.

¿Nos ayudas a mejorar la calidad del blog?
Déjanos una valoración sobre este post para poder seguir mejorando
1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


* Campo obligatorio.