Skip to main content

Task runner for backups

Project description

Replicator is a task runner for backups.

You can describe your tasks declarative with YAML file and run task files with CRON.

Replicator supports notifications, it's useful for tasks that take a lot of time.

Install

Install from pip pip install replicator-cli

Or build:

  • Clone repository git clone https://github.com/vitonsky/replicator.git
  • Build package with run make build
  • Install package pip install dist/replicator-0.0.1-py3-none-any.whl

Usage

usage: replicator [-h] config

Util to replicate backups from primary storage to a mirrors

positional arguments:
  config      Path to config file

optional arguments:
  -h, --help  show this help message and exit

To use util, first create task file.

Example task file for a local device

tasks:
    # Task may have name
    - name: 'Copy files to backup disk'
      run: rclone ./backups /path/to/local/mirror1

    - name: 'Upload to S3'
      run: rclone ./backups s3Replica:backups

    - name: 'Replicate on server'
      # Just run replicator on server with their own config and end locally
      run: ssh replicator@backup-server 'nohup replicator ./backups.yml > ./replicator.log 2>&1 </dev/null &'

Example task file for backup server

# Notifications config
notifications:
    telegram:
        # Define should notifications been sent
        enabled: true
        # Token for bot who will sent notifications
        # How to: https://core.telegram.org/bots/tutorial#getting-ready
        botToken: '123:token'
        # User IDs to receive notifications
        userIds:
            - 123456

# Replicate backup from main storage
tasks:
    - run: rclone s3Replica:backups s3Mirror1:backups
    - run: rclone s3Replica:backups s3Mirror2:backups
    - run: rclone s3Replica:backups s3Mirror3:backups

TODO

  • Support few entries for replication
  • Provide commands to run, instead of paths
  • Provide instructions to install as binary
  • Split the code
  • Add docker image

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

replicator-cli-0.0.7.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

replicator_cli-0.0.7-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file replicator-cli-0.0.7.tar.gz.

File metadata

  • Download URL: replicator-cli-0.0.7.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for replicator-cli-0.0.7.tar.gz
Algorithm Hash digest
SHA256 c5d471b3221cd0331c6285fad5d6f7d93d2b4b409e8b0105e56adfc895115c8f
MD5 3a91703fe146ac753b8fca9dfc55d2b6
BLAKE2b-256 e001cee511eb1a5e4138669078f1eb098776fda3e8aaaf4a2b06c7f4a2cb9894

See more details on using hashes here.

File details

Details for the file replicator_cli-0.0.7-py3-none-any.whl.

File metadata

File hashes

Hashes for replicator_cli-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 861dda74f32ace796a181cab27d7b893f8db690ecf137a6d952f45bb2a8bd70d
MD5 3867fa2d0eb0449f5ab13c19b0f81096
BLAKE2b-256 a162a62c16f6befd4d5ffce91473ab19e5b2fb6016e0e4e36f48ada23442a86a

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