Skip to content

Troubleshooting: Backup & Recovery

Resolve backup failures, missing backups, and restore errors for platform and tenant recovery.

Backup not running

CheckAction
Backup:EnabledMust be true in settings
Scheduler serviceAPI host must be running continuously
IntervalHoursCheck schedule in admin portal
Disk spaceLocal path must have free space
S3 credentialsVerify access key and bucket permissions

Platform admin: Admin Portal → Backups → Settings

Backup stuck in Running

CauseResolution
API crashed mid-backupRestart API — stale runs marked failed after 15 min
Large databaseAllow more time; check server resources
pg_dump hungVerify PostgreSQL connectivity
S3 upload slowCheck network bandwidth

Check backup detail for error message after status changes to Failed.

Backup failed

ErrorFix
pg_dump not foundSet PgDumpPath or PgBinDirectory in config
Permission denied (DB)Connection string needs dump privileges
S3 access deniedFix IAM policy for bucket
Disk fullClear old backups or expand storage

See Platform Backups.

No backups visible (tenant owner)

CauseFix
Platform backup never completedContact platform admin
Retention expiredOlder backups auto-deleted
Tenant created after backupWait for next scheduled run
Wrong accountMust be tenant owner

API: GET /tenant/backups

Restore failed

ErrorFix
pg_restore not foundConfigure PgRestorePath on API server
Confirmation mismatchType exact confirmation phrase
Tenant not in manifestBackup may predate tenant; use newer backup
Active connectionsRestore drops and recreates database
Insufficient permissionsAPI needs PostgreSQL superuser or CREATEDB

Restore took too long

FactorGuidance
Database sizeLarge tenants may take 30+ minutes
Do not interruptWait for status to change
Monitor API logsWatch for pg_restore progress

Data missing after restore

ScenarioExplanation
Data after backup dateExpected — restore is point-in-time
Users can't loginPasswords restored to backup state
Subscriptions wrongTenant restore doesn't fix platform billing
Uploads missingCheck uploads archive in manifest

S3-specific issues

IssueFix
Backup not in bucketCheck Prefix path in S3 console
Cannot downloadVerify IAM read permissions
MinIO compatibilitySet ForcePathStyle: true and ServiceUrl

Testing backups

TestFrequency
Verify backup completesDaily (automated)
Download and inspect manifestWeekly
Test tenant restore on stagingQuarterly
Full DR drillAnnually

Emergency recovery

DisasterAction
Single tenant corruptionSingle-tenant restore from latest backup
Platform server lossDeploy new API + restore FullPlatform from S3
Accidental deleteRestore from backup before delete timestamp

DANGER

Full platform restore replaces ALL tenant data. Coordinate with all labs before proceeding.

Ease Lab — Cloud Pathology Lab Management