django-rclone — Database and media backups via rclone (alternative to django-dbbackup)

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.

Happy to answer any questions or hear feedback.

1 Like