// the find
Archmonger/django-dbbackup
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.