Skip to main content

Django Database Backup to Git

A Django app, which makes a database backup in JSON format, commits and pushes it to a dedicated Git repository. Intended to be run in deployment scripts and as a scheduled task.

Installation and Setup

  1. Install with pip:
pip install django-database-backup-to-git
  1. Set up a Git repository outside of your application's main Git repository.
  2. Add dbbackup_git to your INSTALLED_APPS.
  3. In you settings file, specify the DBBACKUP_GIT setting
DBBACKUP_GIT = {
    'DATABASE_BACKUP_FILENAME': os.path.join(BASE_DIR, '..', '..', 'myapp-db-backup', 'db.json'),
    'PUSH': True  # Determines whether the created backup is pushed to a remote repository, defaults to `True`
}
  1. Run manage.py help, check that dbbackup_git is listed as available command.

Usage

Typing manage.py dbbackup_git will also display output. When running it from cron, use manage.py dbbackup_git --silent.

Running with cron

Create the following script dbbackup-git.sh:

#!/bin/bash

set -e

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $SCRIPT_DIR/../src

source ../venv/bin/activate

python manage.py dbbackup_git

Add it to hourly cron

sudo ln -s `pwd`/dbbackup-git.sh /etc/cron.hourly/dbbackup-git

Test it

run-parts --test /etc/cron.hourly

Cron within a Docker container

If your project is living inside a Docker container the "Using Cron Within Your Containers" section of this article might be useful for you.

Metadata

Release files for django-database-backup-to-git 2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-database-backup-to-git 2.0
File Size Uploaded
django-database-backup-to-git-2.0.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-database-backup-to-git 2.0
File Interpreter ABI Platform
django_database_backup_to_git-2.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.9 kB

Release files / django-database-backup-to-git-2.0.tar.gz

Download URL django-database-backup-to-git-2.0.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dfacfd3857e1cfee1673040f36d2cf36d30f1002514c36bf67b4ff31fff0670c
BLAKE2b-256 checksum
How to use checksums
e65866a09dd94784910b1f0fc4c1558e6c202b6763c1e73873f85bf9ec0b2f4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.0

Release files / django_database_backup_to_git-2.0-py3-none-any.whl

Download URL django_database_backup_to_git-2.0-py3-none-any.whl
Size 5.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54db8149ce13a5180cb932c03961f11d2ea0909fa1d3e7c693d9bec86f61ef65
BLAKE2b-256 checksum
How to use checksums
3fdbf32f28b70f3df5de9230f69738d2ccc76b1f96397662009bc6b5d5278a57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.0

Release history Release notifications | RSS feed

This release

2.0 This release

2 release files

1.6

2 release files

1.5

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page