Skip to main content

Django specific database backup system

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-database-backup-to-git-2.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file django-database-backup-to-git-2.0.tar.gz.

File metadata

  • Download URL: django-database-backup-to-git-2.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for django-database-backup-to-git-2.0.tar.gz
Algorithm Hash digest
SHA256 dfacfd3857e1cfee1673040f36d2cf36d30f1002514c36bf67b4ff31fff0670c
MD5 eacd11c2831d586820a1badf4773f237
BLAKE2b-256 e65866a09dd94784910b1f0fc4c1558e6c202b6763c1e73873f85bf9ec0b2f4f

See more details on using hashes here.

File details

Details for the file django_database_backup_to_git-2.0-py3-none-any.whl.

File metadata

  • Download URL: django_database_backup_to_git-2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for django_database_backup_to_git-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54db8149ce13a5180cb932c03961f11d2ea0909fa1d3e7c693d9bec86f61ef65
MD5 a3cc76d09dbd275a14400062985c236b
BLAKE2b-256 3fdbf32f28b70f3df5de9230f69738d2ccc76b1f96397662009bc6b5d5278a57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page