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
- Install with pip:
pip install django-database-backup-to-git
- Set up a Git repository outside of your application's main Git repository.
- Add
dbbackup_git
to yourINSTALLED_APPS
. - 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`
}
- Run
manage.py help
, check thatdbbackup_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
Built Distribution
Close
Hashes for django-database-backup-to-git-2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfacfd3857e1cfee1673040f36d2cf36d30f1002514c36bf67b4ff31fff0670c |
|
MD5 | eacd11c2831d586820a1badf4773f237 |
|
BLAKE2b-256 | e65866a09dd94784910b1f0fc4c1558e6c202b6763c1e73873f85bf9ec0b2f4f |
Close
Hashes for django_database_backup_to_git-2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54db8149ce13a5180cb932c03961f11d2ea0909fa1d3e7c693d9bec86f61ef65 |
|
MD5 | a3cc76d09dbd275a14400062985c236b |
|
BLAKE2b-256 | 3fdbf32f28b70f3df5de9230f69738d2ccc76b1f96397662009bc6b5d5278a57 |