Skip to content
dbterm

Backup Center · Ctrl B from a saved connection

Backups that keep running.

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

● prod-postgres · runningrun_8f4a21
WRAP + ENCRYPT

Compressing verified archive

68%
12.4 / 18.1 GiB41.8 MiB/sETA 02:19
DESTINATION

/mnt/db-backups

NVMe volume · 284 GiB free
AGENT

systemd system · PID 2418

up 3d 8h · ≈13 MiB RSS
zstd 3 + age X25519 · next: publish → prune → notify

One durable policy

The small things are the system.

Defaults make the first job short. Advanced sections are there when production needs a stricter answer.

01

Native dump, live signal

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.

02

Local or remote storage

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.

03

Bounded retention

Combine latest-count, maximum-age and total-byte ceilings. Oldest eligible artifacts are pruned; the newest success and changed files stay protected.

04

Failure reaches you

Send email on failure, success, or both. Gmail defaults are ready for an app password; custom SMTP, STARTTLS and implicit TLS remain configurable.

05

OS-supervised

Choose a no-admin desktop registration or an elevated boot-time server registration. Inspect startup, runtime, PID, uptime, memory, heartbeat and bounded logs separately.

06

Restore is a separate gate

Inspect wrappers and database format from content, match the destination engine, preview warnings and require explicit consent before a restore begins.

Desktop / user

No admin prompt.

Use systemd user, a macOS LaunchAgent, or a Windows logon task. Start, stop, restart and control startup from Backup Center.

dbterm backup service install

Server / system

Starts at boot.

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 --all

Recovery, not hope

Know what the file is first.

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.age

Clean mode needs a second exact-name confirmation. Restore support currently targets PostgreSQL, MySQL/MariaDB and local SQLite.

Straight answers

Before you schedule it.

Can I back up an AWS or other remote database to my machine?

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.

Does the TUI have to stay open?

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.

Will retention delete files I placed in the folder myself?

No. Retention only considers successful artifacts recorded for that job, contained by its destination and unchanged from their recorded identity, size and checksum.

Save the connection.
Schedule the protection.