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-0.0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cda9bd26696beb84c61439625cacfb7e4c7ee37cc83285a51eeaed0e9f3b221 |
|
MD5 | af032cbcb275a86cf2fdb3fca2b4c6c1 |
|
BLAKE2b-256 | fb2c4471f620d6fc19a5976d8580e89cd178dde03bbbce048105db1beb87c6c7 |
Close
Hashes for django_rotating_backup-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e34f5c90f1669d2357245d24e2cf6e313fdb8cd62ce85f32885727b018a8f379 |
|
MD5 | c497c40f99bb6c3b8581ae73db89f8d0 |
|
BLAKE2b-256 | 530ee8b3f88017854803b6fd7141d1093bdceeecf024baeea688e1a2cee0c013 |