Copias de Seguridad

En esta página

EmDash te ofrece tres capas de protección para tu contenido, desde la recuperación punto en el tiempo sin configuración en Cloudflare hasta archivos descargables que guardas tú mismo.

Qué contiene una copia de seguridad

Una copia de seguridad contiene todo lo necesario para reconstruir el contenido de tu sitio:

  • Todas las entradas de contenido, incluidos borradores, publicaciones programadas y elementos eliminados
  • Definiciones de colecciones y campos (tu modelo de contenido)
  • Taxonomías y asignaciones de términos
  • Menús, widgets, secciones y configuración SEO
  • Revisiones y metadatos de medios
  • Configuración del sitio (título, eslogan, preferencias de visualización)

Las copias de seguridad excluyen deliberadamente:

  • Cuentas de usuario, sesiones, passkeys y tokens de API — los datos de autenticación no son portables ni seguros en un archivo descargable
  • Secretos (clave de firma de vista previa, configuración de plugins)
  • Archivos de medios — los archivos reales residen en tu bucket de almacenamiento (R2, S3 o local); una copia de seguridad lleva sus metadatos para que las referencias permanezcan intactas

Las copias de seguridad son archivos JSON en el mismo formato de snapshot usado por el sistema de vista previa de EmDash, versionados con la versión de EmDash que los creó.

Descarga con un clic

En Configuración → Copias de seguridad en el admin, el botón Descargar copia de seguridad genera una copia fresca y la descarga como archivo JSON. Requiere el rol de admin.

Esta es la herramienta correcta antes de operaciones arriesgadas: importaciones masivas, cambios de esquema o actualizaciones mayores.

Copias de seguridad automáticas al almacenamiento

Si tu sitio tiene un backend de almacenamiento configurado (R2 en Cloudflare, S3 o almacenamiento local), puedes habilitar copias de seguridad diarias automáticas:

  1. Abre Configuración → Copias de seguridad en el admin.

  2. Activa Copias de seguridad diarias automáticas.

  3. Elige cuántas copias mantener (1–30). Los archivos más antiguos se eliminan automáticamente.

  4. Guardar. Las copias se ejecutan como parte del mantenimiento programado de EmDash — no se necesita configuración de cron adicional.

Los archivos se almacenan bajo el prefijo backups/ en tu bucket como emdash-backup-<timestamp>-<random>.json. La lista Copias almacenadas en el admin te permite descargar o eliminar archivos individuales, y Hacer copia ahora crea una bajo demanda.

Restauración punto en el tiempo con D1 Time Travel

Si tu sitio funciona en Cloudflare D1, ya tienes recuperación completa de base de datos punto en el tiempo — siempre activa, sin configuración:

npx wrangler d1 time-travel info my-database
npx wrangler d1 time-travel restore my-database --timestamp=2026-07-08T13:00:00Z

Time Travel mantiene 30 días de historial en el plan de pago (7 días en el gratuito) con granularidad por minuto. Restaura la base de datos completa — contenido, usuarios, configuración.

Volcados de base de datos externos

npx wrangler d1 export my-database --remote --output=backup.sql

En despliegues Node, la base de datos es un único archivo SQLite — cópialo con el servidor detenido, o usa sqlite3 emdash.db ".backup backup.db" para una copia en línea consistente.

Restaurar una copia de seguridad

La restauración desde un JSON de copia de seguridad intencionalmente aún no está expuesta como acción de un clic — sobrescribir una base de datos en vivo merece más fricción que un botón. Opciones actuales:

  • Cloudflare: usa D1 Time Travel para restauración punto en el tiempo.
  • Volcados completos: importa un dump de wrangler d1 export con npx wrangler d1 execute my-database --remote --file=backup.sql.
  • JSON de copia de seguridad: el formato coincide con el formato de snapshot de EmDash; una restauración CLI guiada está planificada. Sigue Discussion #142.