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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|