Inicio Hosting WordPress SEO Marketing VacaWeb.com 🚀 Hosting desde $85 MXN/mes
Seguridad

Cómo Hacer Backups de tu Sitio Web: Guía Completa de Respaldos Automáticos

15 Jul 2025 11 min de lectura VacaWeb Blog

Estrategia completa de respaldos para sitios web. Tipos de backup, frecuencia recomendada, herramientas de automatización y cómo restaurar tu sitio ante cualquier emergencia.

Por qué el backup es la póliza de seguro de tu sitio web

El 60% de las pequeñas empresas que pierden sus datos sin backup no logran recuperarse en los siguientes 6 meses, según el U.S. National Archives & Records Administration. En México, los riesgos más comunes son: hackeos (defacement, inyección de malware), errores humanos al editar archivos, actualizaciones de plugins que rompen el sitio, y fallas de hardware en servidores compartidos. Sin un backup reciente, cualquiera de estos eventos puede costarte días de trabajo y miles de pesos en recuperación.

La regla de oro en administración de sistemas es la estrategia 3-2-1: 3 copias de tus datos, en 2 medios diferentes, con 1 copia fuera del sitio (offsite). En la práctica para un sitio en hosting cPanel esto significa: backup en cPanel, backup en tu computadora local, y backup en la nube (Google Drive, S3, o Backblaze B2).

💾
Estrategia de backup 3-2-1: tres copias de tus datos en dos medios distintos, con una copia almacenada fuera del servidor principal. Esta estrategia garantiza recuperación ante cualquier fallo.

Método 1: Backup completo desde cPanel (sin SSH)

El método más sencillo para usuarios sin experiencia técnica. Desde tu cPanel en VacaWeb:

  1. Ingresa a cPanel → sección FilesBackup Wizard
  2. Selecciona "Back Up""Full Backup"
  3. En "Backup Destination" elige "Home Directory" (se guarda en tu servidor)
  4. Ingresa tu email y haz clic en "Generate Backup"
  5. Recibirás un email cuando el backup esté listo. El archivo .tar.gz aparecerá en tu directorio home
  6. Descárgalo vía File Manager o FTP
💡 Backup parcial vs completo El backup "Full" incluye archivos, bases de datos, emails y configuraciones. Si solo necesitas los archivos de tu sitio, usa "Partial Backup" → "Home Directory". Si solo necesitas la base de datos, usa "Partial Backup" → "MySQL Databases". Los backups parciales son más rápidos y ocupan menos espacio.

Método 2: Backup por SSH con tar y mysqldump

Para usuarios con acceso SSH (planes VPS o cuentas cPanel con SSH habilitado), este método es más rápido y automatizable:

# 1. Respaldar todos los archivos del sitio
tar -czf backup_sitio_$(date +%Y%m%d).tar.gz /home/tuusuario/public_html/

# 2. Respaldar la base de datos MySQL/MariaDB
mysqldump -u usuario_db -p'contraseña' nombre_base_de_datos   | gzip > backup_db_$(date +%Y%m%d).sql.gz

# 3. Verificar que los archivos se crearon correctamente
ls -lh backup_*.tar.gz backup_*.sql.gz

# 4. Transferir a tu máquina local (ejecutar en TU computadora)
scp usuario@tuservidor.com:~/backup_sitio_*.tar.gz ./backups/
scp usuario@tuservidor.com:~/backup_db_*.sql.gz ./backups/

Método 3: Automatización con cron jobs

Un backup manual que depende de que te acuerdes no es confiable. Automatiza el proceso con cron jobs en cPanel (cPanel → Advanced → Cron Jobs) o en tu VPS:

#!/bin/bash
# Guardar como /home/tuusuario/scripts/backup_auto.sh
# Dale permisos: chmod +x backup_auto.sh

FECHA=$(date +%Y%m%d_%H%M)
BACKUP_DIR="/home/tuusuario/backups"
SITE_DIR="/home/tuusuario/public_html"
DB_NAME="tubasededatos"
DB_USER="tu_usuario_db"
DB_PASS="tu_contraseña"
DIAS_RETENER=7  # Eliminar backups más antiguos de 7 días

mkdir -p $BACKUP_DIR

# Backup de archivos
tar -czf $BACKUP_DIR/files_$FECHA.tar.gz $SITE_DIR 2>/dev/null

# Backup de base de datos
mysqldump -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BACKUP_DIR/db_$FECHA.sql.gz

# Eliminar backups viejos
find $BACKUP_DIR -name "*.tar.gz" -mtime +$DIAS_RETENER -delete
find $BACKUP_DIR -name "*.sql.gz" -mtime +$DIAS_RETENER -delete

echo "Backup completado: $FECHA"

Agrega este script al cron job (cPanel → Cron Jobs). Para ejecutarlo cada día a las 2 AM:

0 2 * * * /home/tuusuario/scripts/backup_auto.sh >> /home/tuusuario/backups/backup.log 2>&1
🕐
Configuración de cron job en cPanel para ejecutar backup automático diario a las 2:00 AM. El log permite verificar que el backup se ejecutó correctamente.

Método 4: Backup offsite a Google Drive con rclone

El backup en el mismo servidor no protege contra fallas de hardware del hosting. Usa rclone para sincronizar automáticamente a Google Drive:

# Instalar rclone en tu VPS
curl https://rclone.org/install.sh | sudo bash

# Configurar Google Drive (seguir asistente interactivo)
rclone config
# → n (nueva configuración) → nombre: "gdrive" → tipo: 13 (Google Drive)
# → seguir el proceso de autenticación OAuth

# Subir backups a Google Drive
rclone copy /home/tuusuario/backups/ gdrive:VacaWeb_Backups/   --include "*.tar.gz" --include "*.sql.gz"   --min-age 1h --transfers 4

# Agregar al cron job (después del script de backup, con 10 min de retraso)
10 2 * * * rclone copy /home/tuusuario/backups/ gdrive:VacaWeb_Backups/ --min-age 1h

Cómo restaurar un backup de cPanel

Tener el backup es solo la mitad. Debes saber restaurarlo. Para restauración completa vía cPanel:

  1. CPanel → Backup WizardRestore
  2. Para archivos: selecciona el .tar.gz y sube el archivo
  3. Para base de datos: CPanel → MySQL Databases → crea la base de datos primero, luego usa phpMyAdmin → Import para el archivo .sql.gz

Por línea de comandos (más rápido para archivos grandes):

# Restaurar archivos
tar -xzf backup_sitio_20260320.tar.gz -C /home/tuusuario/

# Restaurar base de datos
gunzip < backup_db_20260320.sql.gz | mysql -u usuario_db -p nombre_base_de_datos
Método de BackupNivel técnicoTiempoAutomatizable
cPanel Backup WizardPrincipiante5–15 minNo (manual)
SSH tar + mysqldumpIntermedio2–5 minSí (cron)
Script automatizadoIntermedioAutomáticoSí (cron diario)
rclone a Google DriveAvanzadoAutomáticoSí (cron + nube)

En VacaWeb realizamos backups diarios del servidor en todos los planes de hosting. Sin embargo, estos son backups de emergencia a nivel de servidor. Te recomendamos mantener siempre tus propios backups independientes. Si necesitas ayuda para configurar un sistema de backup automatizado, abre un ticket en soporte técnico.

Escenarios Prácticos: Backups en Producción

Escenario 1 — WooCommerce con backups automatizados a S3: Script de backup completo (archivos + base de datos) que corre cada noche a las 2 AM:

#!/bin/bash
# backup_completo.sh - Ejecutar via cron: 0 2 * * * /scripts/backup_completo.sh
FECHA=$(date +%Y%m%d_%H%M)
DIRECTORIO_WEB="/home/usuario/public_html"
DB_NAME="wp_produccion"
DB_USER="wp_user"
BUCKET="s3://backups-mitienda"

# Backup de base de datos
mysqldump -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" |   gzip > "/tmp/db_${FECHA}.sql.gz"

# Backup de archivos (excluyendo cache)
tar -czf "/tmp/files_${FECHA}.tar.gz"   --exclude="$DIRECTORIO_WEB/wp-content/cache"   --exclude="$DIRECTORIO_WEB/wp-content/litespeed"   "$DIRECTORIO_WEB"

# Subir a S3 con AWS CLI
aws s3 cp "/tmp/db_${FECHA}.sql.gz" "$BUCKET/db/"
aws s3 cp "/tmp/files_${FECHA}.tar.gz" "$BUCKET/files/"

# Limpiar archivos temporales
rm -f "/tmp/db_${FECHA}.sql.gz" "/tmp/files_${FECHA}.tar.gz"

# Eliminar backups de más de 30 días en S3
aws s3 ls "$BUCKET/db/" | awk '{print $4}' | while read file; do
  fecha_archivo=$(echo $file | grep -oP '\d{8}')
  if [ $(date -d "$fecha_archivo" +%s) -lt $(date -d "30 days ago" +%s) ]; then
    aws s3 rm "$BUCKET/db/$file"
  fi
done

Escenario 2 — Blog con backup a Google Drive usando rclone: Alternativa económica a S3 para sitios menores. 15 GB gratuitos en Drive son suficientes para la mayoría de blogs con backups rotativos de 7 días.

Errores Comunes en Backups de Sitios Web

ErrorConsecuenciaCausaSolución
Backup en mismo servidorSe pierde junto con el sitioSin almacenamiento externoSiempre enviar backup a S3, Drive o servidor diferente
Sin probar restauraciónBackup corrupto descubierto en crisisSolo crear, nunca verificarRestaurar en entorno staging cada 3 meses
Solo base de datos, sin archivosImágenes y plugins perdidosBackup incompletoBackup debe incluir DB + public_html completo
Sin retención adecuadaSin capacidad de retroceder semanasSolo backup del día anteriorEstrategia: diario (7 días) + semanal (4 semanas) + mensual (12 meses)
Contraseña de BD en script sin cifrarCredenciales expuestasPassword en texto planoUsar MySQL options file (.my.cnf) con permisos 600

Preguntas Frecuentes sobre Backups de Sitios Web

¿Con qué frecuencia debo hacer backup según el tipo de sitio?

eCommerce activo (pedidos frecuentes): cada hora para la base de datos, diario para archivos. Blog con actualizaciones frecuentes: diario para DB, semanal para archivos. Sitio corporativo estático: semanal para DB, mensual para archivos. La regla de oro: el backup debe ser más frecuente que la frecuencia con la que actualizas el contenido que no puedes perder.

¿El backup de cPanel es suficiente para sitios críticos?

El backup de cPanel es un backup de conveniencia: fácil de crear y restaurar, pero almacenado en el mismo servidor. Si el servidor falla completamente (hardware o datacenter), el backup se pierde junto con el sitio. Para sitios críticos, usa backups de cPanel como primera capa y backups offsite (S3, BackBlaze) como segunda capa obligatoria.

¿Cuánto espacio necesito para los backups?

Un sitio WordPress estándar (sin tienda grande): 500 MB - 2 GB por backup completo. WooCommerce con catálogo de imágenes: 2-10 GB por backup. Para una retención de 30 días con backup diario, necesitas 30x el tamaño de un backup. Comprimir con gzip reduce el tamaño 60-70%. BackBlaze B2 cuesta ~$0.006/GB/mes: para 50 GB, son $3 USD/mes de almacenamiento.

¿Cómo restaurar WordPress desde un backup de UpdraftPlus?

En WordPress: UpdraftPlus > Restaurar > seleccionar el backup (puede estar en Drive, Dropbox o S3). Si WordPress no carga: 1) Instalar WordPress limpio. 2) Instalar UpdraftPlus. 3) Conectar con el almacenamiento remoto. 4) Importar backup y restaurar. El proceso completo toma 15-30 minutos dependiendo del tamaño del sitio y la velocidad de la conexión.

¿Qué es el backup incremental y cuándo conviene usarlo?

El backup incremental solo guarda los cambios desde el último backup completo, en lugar de todo el sitio. Ventajas: mucho más rápido y ocupa menos espacio. Desventaja: para restaurar, necesitas el backup completo más todos los incrementales. JetBackup (disponible en algunos hosting cPanel) hace incrementales automáticamente. Para sitios con GB de imágenes que rara vez cambian, el incremental reduce drásticamente el tiempo y espacio de backup.

👨‍💻
Juan Vaca Cloud Infrastructure Expert & Founder de VacaWeb

Fundador de VacaWeb, con más de 15 años administrando infraestructura Linux en producción. Especialista en LiteSpeed, CloudLinux, cPanel/WHM y arquitectura de hosting de alto rendimiento para el mercado mexicano. Ha diseñado y migrado la infraestructura de más de 1,200 sitios web empresariales.

Compartir: