instantly sync data among home servers
Project description
Sync Servers
This is a lightweight server sync app designed for home servers. It instantly syncs changed files from one server to other servers, or perodically cron syncs.
A use case is to sync files to multiple servers without setting up cloud costly. This project is a component of my homeservers project, which leverage this to sync up my cam uploaded files to other servers.
Inotify is leveraged to monitor files changes, asynclcron is to run cron tasks, and rsync is to sync files.
The inotify recursive watch class has been moved/contributed to asyncinotify.
setup dev env
# in vscode terminal:
python3 -m venv venv
## reopen vscode terminal, venv should show
pip install asyncinotify
pip install asynclcron
unit test
## run test
python3 -m unittest
rsyncd
sudo cp tests/rsyncd/rsyncd.conf /etc/
sudo rsync --daemon --no-detach
test rsync command
rsync -avh --no-p --mkpath --timeout=6 --contimeout=3 /storage/source/live rsync://127.0.0.1/live
packaging and publish
rm -rf dist
python3 -m build
python3 -m twine upload dist/*
run syncservers
# in root folder
python -m syncservers.app
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file syncservers-1.0.1.tar.gz
.
File metadata
- Download URL: syncservers-1.0.1.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcc8a836e722739b23c58c417b72952a1afb9fd55261c35b23bfa913f05622b1 |
|
MD5 | b03887423ccbf73057298ea2f8b4941d |
|
BLAKE2b-256 | f26e2b1d3e0ef8e9a60d7dfdaf3325a1fd6592b48b209a7051f54f662fe4dbe8 |
File details
Details for the file syncservers-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: syncservers-1.0.1-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66af8ea981cf8e6d12e6612d2c3a27a04f70df89151eb83becd3599ffa4219f8 |
|
MD5 | 183f967516d85197156af1cbd5fbe2c7 |
|
BLAKE2b-256 | 48e0f4fff126f9cbf8ca91d0539ef34b0bb77fb7e906a61ad5a60b3dca2ff97a |