SQLBackup turns a fragile pile of cron scripts into one dependable agent. Here's the whole flow — and you can play with it right on this page.
Tell SQLBackup how to reach each database. Run a one-click connection test. Keep passwords in environment variables, never in the config file.
A job ties a database to one or more destinations, a cron schedule, a backup type, and retention rules. Toggle compression and encryption per job.
Start SQLBackup and it runs continuously — firing each job on schedule, shipping offsite, pruning old copies, logging every result, and emailing you if anything fails.
Click each stage. Every backup streams through these four steps — nothing is ever fully loaded into memory.
SQLBackup never reinvents the export. It calls each engine's own, vendor-blessed dump tool and streams the output straight into the pipeline — no giant temp file loaded into memory.
# PostgreSQL — exactly what the vendor ships pg_dump --format=custom --no-owner \ --dbname=analytics \ | sqlbackup stream
The dump is compressed on the fly with streaming gzip. A 2.4 GB database often shrinks by 70–80%, so you store and transfer a fraction of the bytes — and it never has to fit in RAM.
# streamed, chunk by chunk analytics.dump → analytics.dump.gz 2.41 GB → 612 MB (75% smaller)
Before a single byte leaves your machine it's encrypted with authenticated AES-256-GCM. The key is derived from your password with scrypt and a random salt; every 64 KB chunk gets a fresh nonce and authenticates its own position.
# on-disk format MAGIC(9) | SALT(16) | [ LEN(4) | NONCE(12) | CT+TAG ]×N
The encrypted, compressed backup is uploaded to every destination you configured — local/NAS, Amazon S3, S3-compatible clouds, or SFTP — then retention prunes old copies per destination. The result is recorded in the history log.
# fan-out to multiple destinations → local keep_last: 7 → amazon_s3 keep_days: 30 → sftp keep_last: 14
Make a few choices and watch the backup job take shape — exactly the summary the app shows you before it runs. No install required.
This is the job the app would create. The wizard asks these same four questions, then the agent runs it on schedule — nothing to write by hand.
A backup you can't restore is just wasted disk. With SQLBackup, recovery is one command — here's every step it runs.
No juggling openssl, gunzip and psql by hand at the worst possible moment. SQLBackup runs the whole chain and restores into a database you name — and if that name doesn't exist yet it is created for you, so you can verify before promoting it. Replacing a live database asks you to type its name first.
Chain-aware: point it at any incremental or differential and it restores the base full backup plus every change file in between, in order — you never assemble a chain by hand. Tip: practice restores on a schedule. An untested backup isn't a backup yet.
Install SQLBackup, add a job, and your databases are protected by tonight.
Start free trial Read the Docs