Skip to main content

My package description

Project description

edxbackup is database backup program designed to work with openedx data sources, but not specific to it.

edxbackup is a wrapper around restic.

installation

manual

Make sure that you have following software installed in your environment:

  1. Python 3.11

  2. restic

  3. myloader

  4. mongodb-tools

Then, run pip install edxbackup==3.1.1.

docker

docker pull edxbackup:3.1.1

running

preparations

You need restic repository set up elsewhere for edxbackup to operate. Consult restic docs to do it.

Before running edxbackup make sure that RESTIC_REPOSITORY and RESTIC_PASSWORD are set.

config

You can use example/edxbackup.json in repo as a reference. All the sections are mandatory, but you can set mysql, mongo and s3 to empty list if you don’t want to backup those.

There’s two ways to pass config location to edxbackup:

  1. Put it in the EDXBACKUP_CONFIG_PATH environment variable

  2. Pass it as the value of -c or --config command line flag

If neither is used, edxbackup will /etc/edxbackup.json as fallback.

backup

Run edxbackup backup. The last line in it’s output will be backup ID.

list & show

edxbackup list and edxbackup show are informational commands. You can use the first one to show a list of available backups and the second one to inspect individual backup contents.

restore

Run edxbackup restore <BACKUP_ID>. Make sure to replace <BACKUP_ID> with your backup ID.

running regularily

There’s example systemd service & timer in systemd/ directory.

deleting old backups

There’s contrib/delete_old.py script in this repo that will run restic forget command with arguments adjustable by environment variables. Make sure that you read the script before running it. It is destructive.

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

edxbackup-3.2.1.tar.gz (18.1 kB view hashes)

Uploaded Source

Built Distribution

edxbackup-3.2.1-py3-none-any.whl (20.5 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