Skip to main content

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

  1. Install django-rotating-backups using pip:

    pip install django-rotating-backup
    
  2. Add "django-rotating-backups" to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = [
        ...
        'django_rotating_backup',
    ]
    
  3. Add python manage.py create_backup to a hourly cron job.

  4. 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

django-rotating-backup-0.0.6.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

django_rotating_backup-0.0.6-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

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

Hashes for django-rotating-backup-0.0.6.tar.gz
Algorithm Hash digest
SHA256 6480976a763accc3c3701032a499255ff6cfa56c6f60c4c9725dd50f485a3cfc
MD5 8142159827b8dfaa3a3f32ab6ecb0594
BLAKE2b-256 390546398245505a2de6d3a8921405791d2a47318ccfb3e9f00bfd1b1bb9888b

See more details on using hashes here.

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

Hashes for django_rotating_backup-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ec4e91e5f5a8fb5d938f769d2d71f4cf5bc9bb0dd83100564ffac9ffe2dff4a9
MD5 1c85e6d3829acc27c20c0e4701665788
BLAKE2b-256 97a3faa8afdbcfcb2b7c3b02f0cd522b08ae227a578abc6dfa3771372e24e0da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page