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.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fee42376b3a55450274b8a57acc906f2ade21da99946bbf55adaaad61c5033e6 |
|
MD5 | 6985fd7553390d42ece605ddfbc47021 |
|
BLAKE2b-256 | d727728e46c9edd6c67c0909a95dd084c0dea3bde10e96fbd17a5d9be4164e35 |
Close
Hashes for django_rotating_backup-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae08c5c37bbc99fd21e3b68b2462888311cb4fb0e77e89e921c932191f4c3d61 |
|
MD5 | 535d416530ce2bb2283ec23c6a4bceb4 |
|
BLAKE2b-256 | 6caef8ed3648af76e7170cbbed28af0439080b775e75b03b0ee26a4a770fbc26 |