Skip to main content

The goal of the project is to simplify backup creation.

Project description

Backup Utils

pipeline status PyPI - License PyPI PyPI - Python Version Code style: black

The goal of this project is to create a front to backup program like Borg. Indeed, Borg is a really great tool for backup, but I always write a bash script to specify directories I want to save. I also use Rclone to synchronize my backup to a remote. And finally I need to backup my database.

There are three steps to backup :

  1. Database export
  2. Archiving
  3. Synchronize

For each step, you can use multiple driver define in the DatabaseTask.py or Task.py. Also if something go wrong, all Exceptions are catch to send a notification.

By default, database export use mysql, archiving borg, and synchronize rclone.

1. Installation

You can use pip

pip install backup-utils

You can build the project yourself:

git clone https://gitlab.com/Oprax/backup-utils.git
cd backup-utils
make build # will produce a `dist/backup_utils.pyz` file

2. Usage

There are two commands. The first one is for is for add directory to configuration file which would be backup is the next time.

backup-utils -d /an/absolute/path -d ./a/relative/path
backup-utils --dir ~/user/path

It is usefull because this command will resolve the path for to have an absolute path.

Ths seconds command is the command to run a backup :

backup-utils --run # the long one
backup-utils -r # the shortcut
backup-utils # `run` is the default command if there are no argument

3. Configuration

The configuration file is a JSON file store in ~/.config/bak-utils/config.json.

You can see config.example.json to have an example.

Root object:

  • directories: A list of directories to backup, please use --dir command to add a new directory.
  • repo: The directory containing the backup and that will be synchronize to a remote server.

For backup, sync and database object, the most important is the driver key. The other params is depending the driver.

backup driver supported:

  • borg

sync driver supported:

  • rclone

database driver supported:

  • mysql

If there is no database key in the config file, this task will be skipped.

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

backup_utils-0.6.2.tar.gz (8.5 kB view hashes)

Uploaded Source

Built Distribution

backup_utils-0.6.2-py3-none-any.whl (11.3 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