Cómo automatizar backups de WordPress con cronjobs paso a paso
Los sitios web basados en WordPress son altamente dinámicos, con contenido que se actualiza constantemente y datos críticos almacenados en su base de datos MySQL. En la actualidad, automatizar los respaldos (backups) es una práctica esencial para asegurar la continuidad operativa y minimizar riesgos ante fallas, errores humanos o ciberataques. Una de las formas más eficientes y profesionales de realizar esta tarea es mediante el uso de cronjobs.
¿Por qué automatizar los backups de WordPress?
La creciente dependencia del web hosting administrado con cPanel y sistemas de administración de contenido como WordPress ha aumentado la necesidad de contar con copias de seguridad recurrentes y seguras. Automatizarlas garantiza que no dependamos del factor humano ni de recordatorios manuales.
Un cronjob permite programar tareas repetitivas en servidores Linux. En este caso, su función será ejecutar periódicamente un script que copie los archivos y la base de datos de WordPress hacia una ubicación externa o segura.
Requisitos técnicos básicos
- Acceso SSH o función de
Cron Jobsen cPanel. - Permisos de lectura sobre los archivos del sitio WordPress.
- Credenciales de la base de datos en el fichero
wp-config.php. - Espacio disponible para almacenar los respaldos (en el mismo servidor o en ubicación remota).
Si administras tu sitio en un VPS en Chile o un hosting con soporte técnico avanzado, podrás usar cronjobs para automatizar procesos tanto a nivel de usuario como de administrador root.
Creación de un script de respaldo automático
El primer paso es crear un script en Bash que ejecute dos acciones principales: copiar los archivos del sitio y exportar la base de datos. A continuación, se presenta un ejemplo genérico:
#!/bin/bash
# Ruta de tu sitio WordPress
SITE_PATH="/home/usuario/public_html/"
# Ruta destino del respaldo
BACKUP_PATH="/home/usuario/backups/"
# Fecha en formato ISO
DATE=$(date +%Y-%m-%d-%H-%M)
# Exportar base de datos
mysqldump -u usuario_db -p'clave_db' nombre_db > "${BACKUP_PATH}db_${DATE}.sql"
# Comprimir archivos del sitio
tar -czf "${BACKUP_PATH}files_${DATE}.tar.gz" -C "${SITE_PATH}" .
# Opcional: eliminar respaldos viejos
find "${BACKUP_PATH}" -type f -mtime +7 -delete
Guarda este archivo como backup_wp.sh y dale permisos de ejecución:
chmod +x backup_wp.sh
Programación del cronjob
Una vez creado el script, puedes programarlo en el cron para que se ejecute automáticamente.
Desde cPanel
- Accede a Avanzado → Cron Jobs.
- Selecciona la frecuencia (por ejemplo, “una vez al día”).
- Agrega la ruta completa del script de respaldo, por ejemplo:
/bin/bash /home/usuario/backup_wp.sh
Desde la línea de comandos (SSH)
Edita la tabla cron:
crontab -e
Agrega la siguiente línea para ejecutar el respaldo cada noche a las 02:00 AM:
0 2 * * * /bin/bash /home/usuario/backup_wp.sh >> /home/usuario/cronlog.txt 2>&1
Buenas prácticas y seguridad
- Usa rutas absolutas para evitar conflictos de entorno.
- Protege tus credenciales de base de datos en un archivo de configuración separado.
- Verifica los permisos del directorio de respaldo: deben ser accesibles solo por el usuario del sistema.
- Automatiza copias remotas vía
rsyncoscphacia otro servidor, VPS o servicio cloud.
Las empresas que operan en entornos de housing en Chile también suelen integrar sus sistemas de respaldo con políticas de redundancia RAID10 y conexión a storage SAN para asegurar resiliencia en caso de fallos físicos.
Verificación y recuperación de respaldos
Automatizar el proceso no tiene valor si las copias no pueden restaurarse. Es recomendable incluir pruebas de integridad de los archivos y bases de datos cada cierto tiempo. Esto puede hacerse con comandos como:
gzip -t backup.tar.gz
y verificando la importación del SQL en un entorno de staging. Un hosting robusto debe ofrecer compatibilidad con estos procesos y permitir restauraciones parciales o completas desde cPanel.
Integración con plugins de WordPress
Si prefieres complementar tu cronjob con una interfaz más visual, existen plugins como UpdraftPlus o BackWPup que permiten coordinar las tareas automáticas con los cronjobs del servidor, combinando flexibilidad con respaldo en la nube.
Automatización avanzada con notificaciones
Una mejora común es recibir alertas al finalizar cada respaldo:
mail -s "Backup completado correctamente" admin@tudominio.cl < /dev/null
Este comando puede incluirse al final del script para enviar un correo de confirmación, facilitando la supervisión sin acceder al servidor.
Preguntas frecuentes (FAQ)
¿Cada cuánto tiempo se recomienda un respaldo automatizado?
Depende de la frecuencia de cambios en tu sitio. En proyectos dinámicos, un respaldo diario o incluso cada 6 horas puede ser necesario. Para sitios estáticos, uno semanal suele ser suficiente.
¿Es mejor guardar las copias en el mismo servidor o fuera de él?
Siempre es más seguro guardar las copias en una ubicación remota, ya sea otro servidor, VPS o almacenamiento en la nube. Así evitas la pérdida total en caso de fallo físico.
¿Puedo usar cronjobs si tengo un plan de hosting compartido?
Sí, la mayoría de los proveedores que usan cpanel web hosting permiten configurar cronjobs desde la interfaz gráfica.
¿Cuánto espacio necesito para los backups?
Depende del peso total del sitio y la base de datos. Se recomienda al menos un 150% del tamaño actual del sitio para mantener varios respaldos rotativos.
¿Qué pasa si el cronjob falla?
Puedes revisar el log (como cronlog.txt) o configurar notificaciones por correo para detectar errores automáticamente.
Conclusión
Automatizar los respaldos de WordPress con cronjobs es una práctica esencial en la administración moderna de servidores y hosting. Permite eficiencia, seguridad y continuidad, liberando tiempo para el desarrollo y la optimización del sitio. En un entorno digital donde la disponibilidad 24/7 es crítica, implementar una estrategia de backup automatizado garantiza la fiabilidad de tus proyectos y minimiza el riesgo de pérdidas de datos.