Copia de seguridad

Copia de seguridad de la base de datos y los archivos subidos de un despliegue, y descarga del archivo fuera del servidor.

Un archivo contiene todo lo que PocketBase guarda en su directorio de datos: data.db, auxiliary.db y el árbol storage/ donde vive cada archivo subido. Se toma mientras la aplicación sigue sirviendo — las bases de datos se copian con VACUUM INTO, así que nada se captura a medio escribir.

Sintaxis

$ vela backup <command>
  • create - Crear una copia de seguridad y descargarla
  • list - Listar las copias de seguridad de un objetivo
  • download - Guardar una copia existente fuera del servidor
  • delete - Eliminar una copia de seguridad
  • schedule - Hacer copias automáticamente

Dónde viven los archivos subidos

Los archivos subidos son de PocketBase, no de la aplicación. En un servidor están en el directorio compartido de la instancia:

/var/lib/vela/apps/<instance>/shared/pb_data/storage/<collection>/<record>/<file>

shared/ es hermano de releases/, no parte de una, así que los archivos subidos sobreviven a un despliegue, a un rollback y a un vela destroy deployment sin --purge. Nada dentro de una release los sobrescribe, y el data/ local de un desarrollador nunca se sube.

En local el mismo árbol es data/storage/, que está en el gitignore.

Objetivos

vela backup usa -t production por defecto — la copia que merece protección. Nombra otro objetivo, o local, para trabajar en otro sitio:

$ vela backup create                 # producción
$ vela backup create -t staging
$ vela backup list -t local          # la base de datos de desarrollo

Con almacenamiento S3

Si las subidas se guardan en S3 (PB_S3_ENDPOINT y compañía, definidos con vela env), PocketBase deja storage/ fuera del archivo: los ficheros no están en el servidor para copiarlos. El archivo sigue conteniendo las bases de datos, y el versionado del bucket es lo que protege las subidas. vela backup create lo advierte cuando corresponde.

PB_BACKUPS_S3_* es un ajuste distinto, y envía los propios archivos a un bucket en lugar de dejarlos en el disco del que son copia.