Storage Destinations
DBackup supports multiple storage backends for your backups.
Supported Destinations
Local & Network
| Destination | Type | Best For |
|---|---|---|
| Local Filesystem | File | Quick setup, on-premise |
| SFTP | Remote | Existing Linux/Unix servers |
| FTP / FTPS | Remote | Legacy infrastructure, shared hosting |
| SMB / Samba | Network | Windows shares, NAS devices |
| WebDAV | Network | Nextcloud, ownCloud, NAS |
| Rsync (SSH) | Remote | Efficient delta transfers |
S3-Compatible
| Destination | Best For |
|---|---|
| Amazon S3 | AWS infrastructure, high durability |
| S3 Compatible | MinIO, DigitalOcean, Backblaze |
| Cloudflare R2 | Zero egress fees |
| Hetzner Object Storage | EU data residency, GDPR |
Cloud Drives
| Destination | Free Tier | Auth |
|---|---|---|
| Google Drive | 15 GB | OAuth 2.0 |
| Dropbox | 2 GB | OAuth 2.0 |
| Microsoft OneDrive | 5 GB | OAuth 2.0 |
Destination or Directory Source
The same storage backends serve two different purposes, and each configured adapter is set to exactly one of them:
| Role | What it does | Path it uses |
|---|---|---|
| Backup Destination | Receives backups | The configured path, with one folder per job written into it (plus a folder per chain for incremental jobs) |
| Directory Source | Provides files to back up | Folders below the configured path, picked per job |
They are mutually exclusive on purpose. A destination owns its path and creates folders there, while a source reads from that same path - and a source set to "Back up everything" reads the path itself. One adapter doing both would mean a job backing up its own previous archives, growing without limit.
Both live on the Connections page, on the Backup Destinations and Directory Sources tabs.
Same server for both
Pick Create as Directory Source on a destination's row (or the reverse on a source) to copy it into the opposite role, credentials and all - then adjust the path. Two adapters for one server is intentional: they point at different paths and are monitored separately.
Adding a Destination
- Navigate to Connections → Backup Destinations → Add New
- Select the storage type
- Fill in configuration details
- Leave Role on Backup Destination
- Click Test Connection → Save
Storage Structure
Backups are organized by job name with sidecar metadata files:
/your-prefix/
└── job-name/
├── backup_2024-01-15T12-00-00.sql.gz.enc
└── backup_2024-01-15T12-00-00.sql.gz.enc.meta.jsonThe .meta.json file stores compression, encryption metadata (IV, auth tag, profile ID), database version, and timestamp.
Retention Policies
Destinations work with retention policies to automatically clean up old backups:
- Simple: Keep last N backups
- Smart (GFS): Grandfather-Father-Son rotation
See Retention Policies for details.
Next Steps
Choose your storage destination: