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
Release files for syncservers 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| syncservers-1.0.1.tar.gz | 13.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| syncservers-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.3 kB
Release files / syncservers-1.0.1.tar.gz
| Download URL | syncservers-1.0.1.tar.gz |
|---|---|
| Size | 13.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcc8a836e722739b23c58c417b72952a1afb9fd55261c35b23bfa913f05622b1
|
|
BLAKE2b-256 checksum How to use checksums |
f26e2b1d3e0ef8e9a60d7dfdaf3325a1fd6592b48b209a7051f54f662fe4dbe8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.2
|
Release files / syncservers-1.0.1-py3-none-any.whl
| Download URL | syncservers-1.0.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66af8ea981cf8e6d12e6612d2c3a27a04f70df89151eb83becd3599ffa4219f8
|
|
BLAKE2b-256 checksum How to use checksums |
48e0f4fff126f9cbf8ca91d0539ef34b0bb77fb7e906a61ad5a60b3dca2ff97a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.2
|