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 descargarlalist- Listar las copias de seguridad de un objetivodownload- Guardar una copia existente fuera del servidordelete- Eliminar una copia de seguridadschedule- 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 desarrolloCon 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.