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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5d471b3221cd0331c6285fad5d6f7d93d2b4b409e8b0105e56adfc895115c8f |
|
MD5 | 3a91703fe146ac753b8fca9dfc55d2b6 |
|
BLAKE2b-256 | e001cee511eb1a5e4138669078f1eb098776fda3e8aaaf4a2b06c7f4a2cb9894 |
File details
Details for the file replicator_cli-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: replicator_cli-0.0.7-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 861dda74f32ace796a181cab27d7b893f8db690ecf137a6d952f45bb2a8bd70d |
|
MD5 | 3867fa2d0eb0449f5ab13c19b0f81096 |
|
BLAKE2b-256 | a162a62c16f6befd4d5ffce91473ab19e5b2fb6016e0e4e36f48ada23442a86a |