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 vela enable s3 está activo, 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.

vela enable s3 --backups es un ajuste distinto, y envía los propios archivos a un bucket en lugar de dejarlos en el disco del que son copia.

Crear

Crear una copia de seguridad y descargarla.

Listar

Listar las copias de seguridad de un objetivo.

Descargar

Guardar una copia existente fuera del servidor.

Eliminar

Eliminar una copia de seguridad de un objetivo.

Programar

Hacer copias de seguridad automáticamente de forma programada.