Skip to main content

datamaker backup

Project description

Installation

pip install datamaker-backup

.env

.env.dist에 아래 내용 추가

# ENVIRONMENT
...
DEPLOYMENT_TARGET=development|test|production

# BACKUP
ENABLE_RESTORE=true|false
ENABLE_BACKUP=true|false
RESTORE_DATA_ONLY=true|false
RESTORE_OPTIONS=do-not-set-unless-you-know-what-you-are-doing
DBBACKUP_CLEANUP_KEEP=10

settings.py

settings.py에 아래 내용 추가

from datamaker_backup import get_backup_settings

...

INSTALLED_APPS = (
    ...
    'dbbackup',  # django-dbbackup
)

...


# datamaker-backup
# https://github.com/datamaker-kr/datamaker-backup

BACKUP_CONFIG = get_backup_settings('<repository-name>', env)
vars().update(BACKUP_CONFIG)

postgresql

PostgreSQL을 사용하는 프로젝트는 pg_dump, pg_restore로 백업 및 복원이 이루어지기 때문에 postgresql client 설치를 진행해야 합니다.

prepare to install latest postgresql

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null
sudo apt update

install postgresql client

sudo apt install postgresql-client

Usage

백업

database

python manage.py dbbackup

media

python manage.py mediabackup

복원

database

python manage.py dbrestore

media

python manage.py mediarestore

특정 백업으로 부터 복원하는 경우

python manage.py dbrestore -i <backup_id>
python manage.py mediarestore -i <backup_id>

Configuration

.env에서 아래 설정을 필요에 따라 적용.

DEPLOYMENT_TARGET

배포 환경 이름. 주로 development | test | production로 설정.

Required: true

ENABLE_RESTORE

true | false

dbrestore, mediarestore 사용 가능 여부. 주로 production 환경에서는 비활성화.

Default: false

ENABLE_BACKUP

true | false

dbbackup, mediabackup 사용 가능 여부. 주로 development 환경에서는 비활성화.

Default: false

RESTORE_DATA_ONLY

true | false

dbrestore시 schema는 그대로 두고 data만 복원할지 여부.

아직까지는 해당 옵션을 활성화 할 경우 복원할 db에 data가 모두 삭제된 상태로 두어야 함.

Default: false

RESTORE_OPTIONS

comma separated list of pg_restore option names

Example: clean,create

Default:

  • RESTORE_DATA_ONLYtrue일 때에는 data-only,disable-triggers,exit-on-error
  • RESTORE_DATA_ONLYfalse일 때에는 clean,create,if-exists,exit-on-error

DBBACKUP_CLEANUP_KEEP

dbbackup시 지정된 숫자를 초과한 나머지 백업은 삭제됨.

Default: 30

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

datamaker-backup-0.2.0.tar.gz (6.0 kB view hashes)

Uploaded Source

Built Distribution

datamaker_backup-0.2.0-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

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