finds.dev← search

// the find

Archmonger/django-dbbackup

★ 1,115 · Python · BSD-3-Clause · updated Sep 2026

Backup and restore your Django database and media

A Django app that wraps management commands around your database's native backup tools (pg_dump, mysqldump, mongodump, sqlite) and ships the output to any django-storages backend. It's for teams who want cron/Celery-driven backups of a Django project's DB and media without hand-rolling shell scripts.

Uses each database's native dump tool instead of Django's dumpdata/loaddata, so it handles large datasets and foreign key quirks that serialization-based backup chokes on. Storage is pluggable through django-storages, so S3, Dropbox, or local disk all work with the same commands. GPG encryption and signing are built into the pipeline rather than bolted on after. It's a mature project with per-database connector tests (postgres, mysql, mongodb, sqlite) and an actual CI badge that reflects real coverage, not just a README claim.

Restoring depends on having the matching native client binaries (psql, mysql, mongorestore) on whatever machine runs the restore command — this isn't a pure-Python solution, so container images need those tools installed. There's no retention or rotation policy out of the box; listbackups just lists files, so pruning old backups is still on you to script. It's full-dump only — no incremental or point-in-time recovery, which gets painful once a database is large enough that a nightly full dump is slow or expensive. MongoDB support is clearly the least-exercised path compared to the Postgres/MySQL connectors, based on the directory structure and typical issue history for this kind of project.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →