Local → local
Local database
to Local / mounted folder
Backup Center · Ctrl B from a saved connection
Choose an existing saved connection or add one, then set the destination and time. dbterm handles verification, wrapping, retention, history and alerts.
Alt+B instant · Alt+K then N scheduled · Dashboard Ctrl+B preselected
PostgreSQL · MySQL / MariaDB · SQLite · Turso · Cloudflare D1
Compressing verified archive
/mnt/db-backups
NVMe volume · 284 GiB freesystemd system · PID 2418
up 3d 8h · ≈13 MiB RSSSource and destination are independent
The database may be on this machine or across the network. The completed artifact may stay local, land on a mounted volume, or move through a configured rclone remote.
rclone keeps its own credentials. dbterm stores the destination as rclone://remote/path and uses the backup agent's OS account when the job runs unattended.
Local → local
to Local / mounted folder
Local → remote
to rclone remote
Remote → local
to Local / mounted folder
Remote → remote
to rclone remote
The verified artifact pipeline
Instant backups, scheduled jobs, and the headless CLI use the same stages and safety rules.
Create the engine-native dump inside dbterm's private state, never directly in the destination.
Check that the dump is non-empty and structurally consistent with the expected engine format.
Apply gzip, ZIP, or single-worker zstd compression and optional age X25519 encryption.
Calculate SHA-256, sync, and publish locally or through rclone without replacing an existing artifact.
Record history, apply count/age/size ceilings conservatively, and deliver the configured notification.
One durable policy
Defaults make the first job short. Advanced sections are there when production needs a stricter answer.
Use official PostgreSQL/MySQL clients, a consistent SQLite snapshot, a transaction-backed Turso dump, or Cloudflare's native D1 export. Watch phase and byte progress without loading the dump into RAM.
Use an absolute folder, mounted volume, or rclone://remote/path. Local capacity remains visible; one configured rclone remote opens S3, SFTP, Drive, Azure and other backends.
Combine latest-count, maximum-age and total-byte ceilings. Oldest eligible artifacts are pruned; the newest success and changed files stay protected.
Send email on failure, success, or both. Gmail defaults are ready for an app password; custom SMTP, STARTTLS and implicit TLS remain configurable.
Choose a no-admin desktop registration or an elevated boot-time server registration. Inspect startup, runtime, PID, uptime, memory, heartbeat and bounded logs separately.
Inspect wrappers and database format from content, match the destination engine, preview warnings and require explicit consent before a restore begins.
Desktop / user
Use systemd user, a macOS LaunchAgent, or a Windows logon task. Start, stop, restart and control startup from Backup Center.
dbterm backup service installServer / system
Choose system scope explicitly for an unattended machine. dbterm explains the required elevation and keeps using the selected config, state and log paths.
dbterm backup service status --allRecovery, not hope
Extensions are hints. dbterm unwraps supported compression and age layers, detects the database format from bytes, verifies engine compatibility and previews the restore plan.
dbterm backup inspect \
--identity ./recovery-key.txt \
prod.dump.zst.age
dbterm backup restore \
--connection staging \
--identity ./recovery-key.txt \
--yes prod.dump.zst.ageClean mode needs a second exact-name confirmation. Restore support currently targets PostgreSQL, MySQL/MariaDB and local SQLite.
Straight answers
Yes. Save a reachable PostgreSQL, MySQL, Turso, or Cloudflare D1 connection, then choose a local/mounted folder or a configured rclone destination. Local-to-local, local-to-remote, remote-to-local and remote-to-remote combinations are supported.
No. A small native backup agent reads the durable job catalog. Desktop mode follows the user session; server mode is installed explicitly for boot-time operation.
No. Retention only considers successful artifacts recorded for that job, contained by its destination and unchanged from their recorded identity, size and checksum.