Crear un entorno de pruebas con WordPress que se reinicia solo

Algunas personas me han pedido probar alguno de mis plugins de WordPress a nivel de administrador para saber si es realmente lo que necesitan antes de comprarlo.

He creado un entorno de pruebas (también llamado sandbox) aquí demo.vivirenremoto.com que permite acceso como administrador y que cada x horas se reinicia la base de datos para volver al estado inicial.

Requisitos

  • Poder crear ficheros en una carpeta anterior a la zona pública de tu web, normalmente public_html, por ejemplo en /home/admin/.
  • Acceso SSH para poder instalar dos2unix.

Instalación

1- Tienes que crear estos dos ficheros en alguna parte de tu servidor que no sea accesible de forma pública ya que contienen datos sensibles como la contraseña de la base de datos.

backup_demo_export.sh
Hacer backup de una base de datos mysql

backup_demo_import.sh
Restaurar backup de una base de datos mysql

2- Tienes que modificar las varibles con tus datos:
– DB_HOST: host donde tienes la base de datos, suele ser localhost.
– DB_USER: usuario de la base de datos.
– DB_PASS: contraseña de la base de datos.
– DB_NAME: nombre de la base de datos.
– DIR: donde se va a exportar e importar el fichero demo.sql.

3- Si tuvieras problemas de codificación al ejecutar te recomiendo instalar dos2unix y ejecutar:
dos2unix backup_demo_export.sh
dos2unix backup_demo_import.sh

4- Luego tienes que dar permisos de ejecución a estos dos ficheros para que los pueda ejecutar el cron:
chmod +x backup_demo_export.sh
chmod +x backup_demo_import.sh

Testear

Ejecuta el siguiente comando para exportar la base de datos:
./backup_demo_export.sh

Comprueba si se ha exportado correctamente la base de datos en un fichero demo.sql en la carpeta que has indicado.

Si quieres volver a la versión original de la base de datos puedes hacerlo manualmente ejecutando el comando:
./backup_demo_import.sh

Configurar cron

Si quieres que la base de datos se reinicie sola tienes que crear la tarea programada desde el panel de control de tu servidor o también puedes desde línea de comandos con «crontab -e».

Ejemplos:

Ejecutar cada media noche
0 0 * * * /home/admin/backup_demo_import.sh >/dev/null 2>&1

Ejecutar cada tres horas
0 */3 * * * /home/admin/backup_demo_import.sh >/dev/null 2>&1

Ejecutar a las 10:00 y 18:00
0 10,18 * * * /home/admin/backup_demo_import.sh >/dev/null 2>&1

Enlace de interés

Te recomiendo esta web https://crontab-generator.org/ para generar más fácilmente los horarios para un cron.

Leave a Comment

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.