Cómo hacer una copia de seguridad / restaurar Drupal

Personalmente, uso pg_dump y rsync para sincronizar una copia del sitio a una ubicación fuera de línea (mi PC).

El módulo de copia de seguridad y migración es excelente, pero el IIRC no realiza copias de seguridad incrementales, lo cual es un problema si su sitio Drupal tiene muchos “archivos”. El módulo Backup and Migrate tampoco admite el uso de Postgres como base de datos 🙁

Si tuviera más tiempo / inclinación, configuraría la replicación de Postgres para sincronizar la base de datos con una versión fuera de línea y tomar / guardar instantáneas desde allí.

Si todavía tuviera una mayor inclinación por el tiempo, podría considerar configurar un servidor de almacenamiento bloqueado y enviar actualizaciones al servidor de producción desde el almacenamiento (de nuevo usando replicación / rsync)

Aquí está mi script de copia de seguridad para hacer una copia de seguridad de un sitio remoto de drupal en un servidor local (nota: solo está haciendo una copia de seguridad de la base de datos / archivos de contenido, NO del código):

  # configurar un túnel seguro para el servidor de base de datos remoto
 ssh -f -T -N -L 5434: localhost: 5432 [correo electrónico protegido]

 #copiar base de datos del servidor remoto al servidor local a través de un túnel seguro
 pg_dump -c -h localhost -U postgres yourdatabase -p 5434 |  psql -h localhost -U postgres -p 5432 yourdatabase

 #cerrar el túnel seguro
 kill `ps -ef |  grep "ssh -f -T -N -L 5434" |  grep -v "grep" |  corte -c10-15`

 #download cualquier "archivo" cambiado desde la última copia de seguridad
 rsync -azvr --excluye 'css' /
   --excluir 'ctools' /
   --excluye 'imagecache' /
   --excluir 'js' /
   --excluir 'menos' /
   --excluir 'spamicida' /
   --excluir 'estilos' /
   --excluir 'tmp' /
   --excluir '.ht.filecache' /
 [correo electrónico protegido] : / remotepath / to / your / drupal / files / / localpath / to / your / drupal / files /

Siempre uso el módulo de Copia de seguridad y migración. Obtiene una copia de seguridad muy limpia Copia de seguridad y migración. Pero si tiene una base de datos realmente grande, creo que una copia de seguridad de terminal es la forma de hacerlo.