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
Close
Hashes for django-rotating-backup-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc8678588f868e1646c32eb6f50a0a08d8c4612e8e582872183f63de94a1578a |
|
MD5 | 1094ed0d02d10e45703e4a158d475022 |
|
BLAKE2b-256 | 61144f7d119f659ea9fda713726396028845f2215738b8a650e05cbb3b56230c |
Close
Hashes for django_rotating_backup-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bcb36afe3a7f3b9735cd68665b2d65a4c3e6b7d1720abf45b7715fd51d14d8a |
|
MD5 | f054af96d208a4ded2e96a2cababe589 |
|
BLAKE2b-256 | 82f6b36b187ee12583cdc8a293bd91d5b4a0faf6fd3209b8f3807399283680ef |