Metadata-Version: 2.1
Name: backup_utils
Version: 0.6.2
Summary: The goal of the project is to simplify backup creation.
Home-page: https://gitlab.com/Oprax/backup-utils
Author: Oprax
Author-email: oprax@me.com
License: MIT
Description: Backup Utils
        ============
        
        
        [![pipeline status](https://gitlab.com/Oprax/backup-utils/badges/master/pipeline.svg)](https://gitlab.com/Oprax/backup-utils/commits/master)
        [![PyPI - License](https://img.shields.io/pypi/l/backup-utils.svg)](https://gitlab.com/Oprax/backup-utils/blob/master/LICENSE)
        [![PyPI](https://img.shields.io/pypi/v/backup-utils.svg)](https://pypi.org/project/backup-utils/)
        [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/backup-utils.svg)](https://pypi.org/project/backup-utils/)
        [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/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
        
        ```bash
        pip install backup-utils
        ```
        
        You can build the project yourself:
        
        ```bash
        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.
        
        ```bash
        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 :
        
        ```bash
        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.
        
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Operating System :: POSIX
Classifier: Topic :: System :: Archiving :: Backup
Classifier: Intended Audience :: System Administrators
Description-Content-Type: text/markdown
