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_gitto yourINSTALLED_APPS. - In you settings file, specify the
DBBACKUP_GITsetting
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_gitis 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfacfd3857e1cfee1673040f36d2cf36d30f1002514c36bf67b4ff31fff0670c
|
|
| MD5 |
eacd11c2831d586820a1badf4773f237
|
|
| BLAKE2b-256 |
e65866a09dd94784910b1f0fc4c1558e6c202b6763c1e73873f85bf9ec0b2f4f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54db8149ce13a5180cb932c03961f11d2ea0909fa1d3e7c693d9bec86f61ef65
|
|
| MD5 |
a3cc76d09dbd275a14400062985c236b
|
|
| BLAKE2b-256 |
3fdbf32f28b70f3df5de9230f69738d2ccc76b1f96397662009bc6b5d5278a57
|