Storage and backups
Database Backups
Schedules, retention and what a backup contains.
Backups are logical dumps of individual databases, taken on the server with each engine’s own tool, encrypted before they touch disk, and kept on the server, in off-server storage (S3-compatible or Google Drive), or both.
What a backup is
- Every file is encrypted with AES-256 using a key that the control plane generates once and keeps encrypted. The key reaches the server only through the job-secrets channel, never on a command line.
- A SHA-256 checksum is recorded for every file and checked before any restore.
- Local copies live in
/var/lib/vpspilot-backups. - Dumps are limited to three hours.
Schedules
Each database instance has its own policy:
enabledboolTurn scheduled backups on or off.
every_hours1–720 · 24Interval between backups.
keep1–365 · 7Successful backups kept per database. Older ones are deleted, locally and from storage.
databaseslistWhich databases to back up. Defaults to the instance's default database plus those created through VPSPilot.
http
PUT /api/v1/backups/policies/{instance_id}{ "enabled": true, "every_hours": 6, "keep": 28 }The API’s background loop starts backups when they are due. If the control plane is down at that moment, the backup runs as soon as it is back.
Manual backups
Take one before a risky migration with Back up now, or through the API. Leave out database to back up every database in the policy.
http
POST /api/v1/backups/run{ "instance_id": "4d1e…", "database": "app" }Staleness alerts
The Backups stale or failing alert rule fires when a scheduled database has had no successful backup for 36 hours. Adjust the threshold in Monitoring.