A simple Django app to make rotating backups of the Django database and media files.
Project description
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_backup
to 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'
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
File details
Details for the file django-rotating-backup-0.0.6.tar.gz
.
File metadata
- Download URL: django-rotating-backup-0.0.6.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6480976a763accc3c3701032a499255ff6cfa56c6f60c4c9725dd50f485a3cfc |
|
MD5 | 8142159827b8dfaa3a3f32ab6ecb0594 |
|
BLAKE2b-256 | 390546398245505a2de6d3a8921405791d2a47318ccfb3e9f00bfd1b1bb9888b |
File details
Details for the file django_rotating_backup-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: django_rotating_backup-0.0.6-py3-none-any.whl
- Upload date:
- Size: 19.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec4e91e5f5a8fb5d938f769d2d71f4cf5bc9bb0dd83100564ffac9ffe2dff4a9 |
|
MD5 | 1c85e6d3829acc27c20c0e4701665788 |
|
BLAKE2b-256 | 97a3faa8afdbcfcb2b7c3b02f0cd522b08ae227a578abc6dfa3771372e24e0da |