From connection string to tested backup
Paste a connection string and pick a schedule. backupd backs it up, encrypts it to your key, proves it restores, and tells you when something is off.
Good morning
Acme · 4 databases, backed up on schedule.
- 4
- 2,317
- 66.5 GB
- 98%
Recent backups
- app-prodVerified
- billingSucceeded
- billingFailed
- eventsVerified
Needs attention
- marketing-site is paused
- billing failed once
- 1 string
- To connect a database, no agent.
- 4 engines
- Postgres, MySQL, MongoDB, Convex.
- 5 min
- Uptime checks on every database.
- 14 days
- Free on Starter.
1. Connect
Paste a connection string for a read-only user, pick how often to back up and how long to keep backups. There is nothing to install on your servers.
Add database
backupd connects over TLS. Use a read-only user.
Connection string
postgresql://backup:••••@db.example.com:5432/app
Schedule
Every hour
Keep backups
30 days
2. Back up
On schedule, backupd runs your engine’s own dump tool, compresses and encrypts the output as it streams, and stores it. Then it reads the file back to check it.
Backup
app-prod-2026-10-16-0900.pgdump.zst.age- Dump
- Compress
- Encrypt
- Upload
- Check
3. Prove it restores
The backup is restored into a temporary database on a sandbox server and every table is counted against what was backed up. More on restore tests
Restore test
app-prod-2026-10-15-0300.pgdump.zst.age- 5 of 5
- 1,766,383
- 41s
- postgres 16
- Fetch the backup
- Decrypt
- Restore
- Count rows
- Clean up
| Table | Backed up | Restored | Result |
|---|---|---|---|
public.sessions | 1,402,377 | 1,402,377 | match |
public.order_items | 241,880 | 241,880 | match |
public.orders | 96,512 | 96,512 | match |
public.users | 18,204 | 18,204 | match |
public.invoices | 7,410 | 7,410 | match |
4. Restore when you need to
Restore into a fresh database, check it, then switch over. Or download the encrypted file and open it with your own key.
Restore this backup
billing-2026-10-15-0000.sql.zst.age
Target connection string
mysql://[email protected]:3306/billing
Replace tables that already exist in the target
5. Hear about problems first
A failed backup, a failed restore test or a database that stops answering reaches your team where it works. See alerts
Back up your first database today
Starter is free for 14 days. Your first restore test runs on schedule.