Django-Rotating-Backup
This is a simple app to create rotating backups from the Django database and Media files.
Quick start
-
Install django-rotating-backups using pip:
pip install django-rotating-backup -
Add "django-rotating-backups" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'django_rotating_backup', ] -
Add
python manage.py create_backupto a hourly cron job. -
Add settings to the django settings or use environment settings. Please not that environment variables have precedent over the settings configured in the settings.
Settings
| Name | Description |
|---|---|
| DRB_BACKUP_HOURS_TO_KEEP | The number of hourly backups to keep |
| DRB_BACKUP_DAYS_TO_KEEP | The number of daily backups to keep |
| DRB_BACKUP_WEEKS_TO_KEEP | The number of weekly backups to keep |
| DRB_BACKUP_MONTHS_TO_KEEP | The number of monthly backups to keep |
| DRB_DESTINATION_FOLDER | Where to store the backups |
| DRB_ENABLE_SQLITE_BACKUP_COPY | Set to True to make backup copies for SQLite databases |
| DRB_ENABLE_DATABASE_DUMPS | Set to True to enable SQL dumps of databases |
| DRB_ENABLE_MEDIA_BACKUPS | Set to True to enable Media folder backups |
| DRB_ENABLE_REMOTE_SYNC | Set to True to enable remote sync of backup files |
| DRB_RSYNC_HOST | The remote host where to sync to |
| DRB_RSYNC_REMOTE_PATH | The path on the remote server |
| DRB_RSYNC_USER | The user to connect as |
| DRB_RSYNC_PUB_KEY | The ssh public key to use |
Example
...
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
...
# Settings for Django Rotating Backup
DRB_BACKUP_HOURS_TO_KEEP = 24
DRB_BACKUP_DAYS_TO_KEEP = 7
DRB_BACKUP_WEEKS_TO_KEEP = 4
DRB_BACKUP_MONTHS_TO_KEEP = 3
DRB_DESTINATION_FOLDER = os.path.join(BASE_DIR, 'backups')
DRB_ENABLE_SQLITE_BACKUP_COPY = True
DRB_ENABLE_DATABASE_DUMPS = True
DRB_ENABLE_MEDIA_BACKUPS = True
DRB_ENABLE_REMOTE_SYNC = True
DRB_RSYNC_HOST = '192.168.2.6'
DRB_RSYNC_REMOTE_PATH = '/home/backupuser/backup/'
DRB_RSYNC_USER = 'backupuser'
DRB_RSYNC_SSH_KEY = '/Users/backupuser/.ssh/id_rsa'
Release files for django-rotating-backup 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-rotating-backup-1.0.1.tar.gz | 7.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| django_rotating_backup-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:27.9 kB
Release files / django-rotating-backup-1.0.1.tar.gz
| Download URL | django-rotating-backup-1.0.1.tar.gz |
|---|---|
| Size | 7.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dc8678588f868e1646c32eb6f50a0a08d8c4612e8e582872183f63de94a1578a
|
|
BLAKE2b-256 checksum How to use checksums |
61144f7d119f659ea9fda713726396028845f2215738b8a650e05cbb3b56230c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.0
|
Release files / django_rotating_backup-1.0.1-py3-none-any.whl
| Download URL | django_rotating_backup-1.0.1-py3-none-any.whl |
|---|---|
| Size | 20.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bcb36afe3a7f3b9735cd68665b2d65a4c3e6b7d1720abf45b7715fd51d14d8a
|
|
BLAKE2b-256 checksum How to use checksums |
82f6b36b187ee12583cdc8a293bd91d5b4a0faf6fd3209b8f3807399283680ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.0
|