Copia de seguridad de Drupal y migración del sitio: guía

Hacer copias de seguridad con regularidad y poder migrar tu sitio Drupal es esencial para gestionar una página web. En esta guía aprenderás a hacer copias de seguridad profesionales y a trasladar tu sitio de forma segura a un entorno nuevo.

Por qué las copias de seguridad son cruciales

Una buena copia de seguridad te protege frente a:

  • Una página web hackeada por malware
  • Contenido eliminado por accidente
  • Actualizaciones fallidas
  • Problemas del servidor
  • Migraciones de hosting Sin copia de seguridad puedes perder meses de trabajo. Hacer una copia de seguridad solo lleva unos minutos.

Hacer una copia de seguridad con Backup and Migrate

El módulo Backup and Migrate es el estándar para las copias de seguridad de Drupal.

Instalar el módulo

composer require drupal/backup_migrate

Actívalo así:

  1. Ve a Extend
  2. Busca Backup and Migrate
  3. Márcalo y haz clic en Install

Hacer una copia de seguridad de la base de datos

La base de datos contiene todo tu contenido y tu configuración:

  1. Ve a Configuration y luego a Development
  2. Haz clic en Backup and Migrate
  3. Ahora estás en la pestaña Backup
  4. Selecciona Default Database como origen
  5. Elige Download como destino
  6. Haz clic en Backup now
  7. Guarda el archivo .sql.gz en un lugar seguro

Hacer una copia de seguridad completa

Para una copia de seguridad completa, incluidos los archivos:

  1. Ve a Backup and Migrate
  2. Selecciona Entire Site como origen
  3. Esto hace una copia de seguridad de:
    • Base de datos
    • Archivos públicos (subidas)
    • Archivos privados
  4. Haz clic en Backup now

Configurar copias de seguridad automáticas

Programa copias de seguridad periódicas:

  1. Ve a Backup and Migrate y luego a Schedules
  2. Haz clic en Add Schedule
  3. Configura:
    • Name: Copia de seguridad diaria
    • Source: Default Database o Entire Site
    • Destination: archivos del servidor o almacenamiento externo
    • Frequency: diaria
    • Conservar: 7 copias de seguridad
  4. Guarda la programación Las copias de seguridad se ejecutan automáticamente mediante cron.

Copia de seguridad con DirectAdmin

Combínala con las copias de seguridad de DirectAdmin para tener más seguridad.

Copia de seguridad completa de la cuenta

  1. Inicia sesión en DirectAdmin
  2. Ve a Account Manager y luego a Create/Restore Backups
  3. Selecciona:
    • Archivos del dominio
    • Bases de datos
    • Correo electrónico (si procede)
  4. Haz clic en Create Backup
  5. Descarga la copia de seguridad en tu ordenador

Copia de seguridad solo de la base de datos

  1. Ve a Account Manager y luego a phpMyAdmin
  2. Selecciona tu base de datos de Drupal
  3. Haz clic en Export
  4. Elige Quick para usar los ajustes estándar
  5. Haz clic en Go para descargarla

Copia de seguridad con SSH y Drush

Para usuarios avanzados, Drush ofrece copias de seguridad rápidas.

Copia de seguridad de la base de datos con Drush

# Conéctate por SSH
cd ~/domains/jouwdomein.nl/public_html
# Crea una copia de seguridad de la base de datos
drush sql:dump > ~/backup/drupal-db-$(date +%Y%m%d).sql
# Comprimida
drush sql:dump | gzip > ~/backup/drupal-db-$(date +%Y%m%d).sql.gz

Copia de seguridad de los archivos

# Copia de seguridad de los archivos públicos
tar -czf ~/backup/drupal-files-$(date +%Y%m%d).tar.gz sites/default/files
# Copia de seguridad completa del sitio
tar -czf ~/backup/drupal-full-$(date +%Y%m%d).tar.gz .

Automatizar con cron

Añade esto a crontab:

# Copia de seguridad diaria a las 03:00
0 3 * * * cd ~/domains/jouwdomein.nl/public_html && drush sql:dump | gzip > ~/backup/drupal-db-$(date +\%Y\%m\%d).sql.gz

Migrar un sitio Drupal

En una migración trasladas tu sitio a un servidor o dominio nuevo.

Preparación

Antes de empezar:

  1. Haz una copia de seguridad completa
  2. Anota la versión de Drupal
  3. Documenta los módulos instalados
  4. Comprueba los requisitos de versión de PHP
  5. Planifica la migración fuera de las horas punta

Paso 1: copiar los archivos

Descarga todos los archivos del servidor antiguo:

# Por FTP/SFTP
# Descarga la carpeta completa de Drupal
# Por SSH (en el servidor antiguo)
tar -czf drupal-site.tar.gz -C ~/domains/ouddomein.nl public_html

Súbelos al servidor nuevo:

# Descomprime en la nueva ubicación
tar -xzf drupal-site.tar.gz -C ~/domains/nieuwdomein.nl

Paso 2: migrar la base de datos

Exporta la base de datos del servidor antiguo:

# Con Drush
drush sql:dump > drupal-db.sql
# Con phpMyAdmin
# Exporta y descarga como .sql

Impórtala en el servidor nuevo:

# Con Drush
drush sql:cli < drupal-db.sql
# Con phpMyAdmin
# Usa la función Import

Paso 3: adaptar settings.php

Edita settings.php para el nuevo entorno:

$databases['default']['default'] = [
  'database' => 'nieuwe_database',
  'username' => 'nieuwe_user',
  'password' => 'nieuw_wachtwoord',
  'host' => 'localhost',
  'port' => '3306',
  'driver' => 'mysql',
  'prefix' => '',
];
// Update trusted hosts
$settings['trusted_host_patterns'] = [
  '^nieuwdomein\.nl$',
  '^www\.nieuwdomein\.nl$',
];

Paso 4: vaciar la caché y probar

Después de la migración:

# Vacía todas las cachés
drush cache:rebuild
# Ejecuta las actualizaciones pendientes
drush updatedb

Comprueba:

  • La página de inicio carga correctamente
  • El inicio de sesión de administración funciona
  • Las imágenes se muestran
  • Los formularios funcionan

Paso 5: actualizar las URL

Si cambia el dominio, actualiza la URL base:

  1. Comprueba si settings.php tiene URL escritas a mano
  2. Usa Search and Replace para el contenido:
composer require drupal/search_replace_scanner

O bien en la base de datos:

UPDATE node__body SET body_value = REPLACE(body_value, 'ouddomein.nl', 'nieuwdomein.nl');

Restaurar una copia de seguridad

Si tienes que restaurar una copia de seguridad:

Con Backup and Migrate

  1. Ve a Configuration y luego a Backup and Migrate
  2. Haz clic en la pestaña Restore
  3. Sube tu archivo de copia de seguridad
  4. Selecciona lo que quieres restaurar
  5. Haz clic en Restore now

Por línea de comandos

# Restaura la base de datos
drush sql:cli < backup.sql
# Restaura los archivos
tar -xzf drupal-files.tar.gz -C sites/default/files
# Vacía la caché
drush cache:rebuild

Buenas prácticas para las copias de seguridad

Sigue estas pautas:

Frecuencia

  • Sitios activos: copia de seguridad diaria de la base de datos
  • Sitios estáticos: copia de seguridad semanal
  • Antes de actualizar: haz siempre una copia de seguridad

Almacenamiento

  • Guarda las copias de seguridad en varias ubicaciones
  • Usa almacenamiento en la nube (Google Drive, Dropbox)
  • Conserva copias de seguridad de al menos 7 días

Pruebas

  • Prueba con regularidad a restaurar las copias de seguridad
  • Usa un entorno de pruebas (staging) para hacer las pruebas
  • Documenta el proceso de restauración

¿Necesitas ayuda?

Estamos a tu disposición. ¿Te has atascado en algo o tienes preguntas? Nuestro equipo de soporte te ayuda personalmente. Envíanos un mensaje a través del sistema de tickets: solemos responder en unas horas y te ayudamos a encontrar la solución.

¿Buscas una dirección de correo electrónico? Consulta nuestra oferta.