Ir al contenido

Backups

OPanel respalda los sitios con restic: instantáneas incrementales, deduplicadas y cifradas. El backup de cada sitio vive en su propio repositorio cifrado, así que la filtración de una credencial de un destino nunca expone en claro los datos de otro cliente.

En Admin → Backups, agrega uno o más destinos:

Tipo Qué es
Local Una carpeta en el propio nodo (o un volumen montado)
S3-compatible Cualquier bucket compatible con S3 — AWS S3, Backblaze B2, Wasabi, MinIO y similares

El primer destino que agregas se vuelve el predeterminado. Un destino no se puede eliminar mientras un plan o un sitio lo sigan usando; sus repositorios de restic permanecen en el almacenamiento de todos modos.

Cada plan lleva una política de backups: si están activados, un horario cron en UTC, la retención, y si se incluyen volcados de bases de datos junto con los archivos.

Campo Para qué sirve
schedule Expresión cron en UTC; las corridas van separadas por al menos una hora
retention Cuántas instantáneas conservar, según keepLast, keepHourly, keepDaily, keepWeekly, keepMonthly, keepYearly
includeDatabases Respaldar las bases de datos del sitio (mariadb-dump --single-transaction) junto con sus archivos
manualPerDay Cuántos backups pueden iniciar a mano los propios usuarios del sitio en 24 horas

features.backups y features.backupRetentionDays del plan deciden si el plan incluye backups y el tope externo de cuánto se conservan las instantáneas. Los operadores pueden sobrescribir cualquiera de estos campos para un sitio individual sin tocar el plan.

Los clientes con permiso ven el estado de backup de su sitio, disparan un backup manual (dentro del límite diario de su plan) y restauran por su cuenta:

  • El sitio completo
  • Solo archivos, o un archivo o carpeta puntual
  • Solo la base de datos

Las restauraciones corren como una tarea que el cliente puede seguir en tiempo real. Lo que una restauración reemplaza no se borra — se mueve primero a la papelera del servidor, así que una restauración hecha por error también es recuperable dentro de la ventana de retención de la papelera del clúster (trashRetentionHours en la configuración de la plataforma, 72 horas por defecto).

El personal puede respaldar cualquier sitio bajo demanda, sin el límite diario del cliente, y puede sobrescribir el horario, la retención o el destino de un sitio de forma independiente de su plan — útil para un cliente que pagó retención extra, o una migración que quieres respaldar de forma más agresiva durante el corte.

Tarea Solicitud
Listar destinos de backup GET /api/v1/backup-destinations
Agregar/editar un destino POST / PATCH /api/v1/backup-destinations/{id}
Leer/fijar la política de un plan GET, PUT /api/v1/plans/{id}/backup-policy
Sobrescribir la política de un sitio PATCH /api/v1/sites/{id}/backup-policy
Iniciar un backup POST /api/v1/sites/{id}/backups
Listar instantáneas GET /api/v1/sites/{id}/backups/snapshots
Restaurar POST /api/v1/sites/{id}/restores

Ver Backups y cron para la versión de esta página orientada al cliente.