Hi all,
I’ve released GitHub - kjnez/django-rclone: Django database and media backup management commands, powered by rclone. , a backup package that bridges Django’s database layer with
rclone’s file transfer layer.
The idea: Django should own database connectors, management commands, and signals. Everything else — storage, encryption, compression, incremental sync — should be rclone’s problem.
Key differences from django-dbbackup:
- No temp files — database dumps pipe directly into rclone rcat via Unix pipes
- 70+ storage backends via rclone instead of Django Storages
- Encryption/compression handled by rclone’s crypt and compress remotes, not reimplemented in Python
- Incremental media sync via rclone sync instead of tar-then-upload
- Secure credential handling — DB passwords passed via env vars (PGPASSWORD, MYSQL_PWD) rather than CLI args visible in ps
Supported databases: PostgreSQL, PostGIS, MySQL/MariaDB, SQLite, MongoDB
Usage is straightforward:
DJANGO_RCLONE = {
“REMOTE”: “myremote:backups”,
}
python manage.py dbbackup # Backup database
python manage.py dbrestore # Restore latest
python manage.py mediabackup # Incremental media sync
python manage.py mediarestore # Restore media
python manage.py listbackups # List all backups
Django signals are sent before and after each operation (pre_db_backup, post_db_backup, etc.) so you can hook in notifications or audit logging.
The project enforces 100% test coverage in CI. Contributions welcome.
- GitHub: GitHub - kjnez/django-rclone: Django database and media backup management commands, powered by rclone.
- Doc: https://django-rclone.readthedocs.io
- PyPI: django-rclone · PyPI
Happy to answer any questions or hear feedback.