Після коментаря @ Kusalananda я нарешті витратив кілька годин на тестування Syncthing для цього випадку використання, і він чудово працює. Він автоматично виявляє зміни з обох сторін, і тиражування відбувається дуже швидко.
Приклад: уявіть, що ви працюєте локально над server.py
вашим улюбленим програмним забезпеченням Блокнот, натисніть CTRL + S (Зберегти). Через кілька секунд він автоматично реплікується на віддалений сервер (без будь-якого діалогового вікна).
Одне чудове, що я помітив, це те, що вам не доведеться думати про IP домашнього комп'ютера та сервера із Syncthing: кожен "пристрій" (комп'ютер, сервер, телефон тощо) має унікальний DeviceID, і якщо ви ділитесь ідентифікатор з іншим пристроєм, він автоматично дізнається, як вони повинні з'єднуватися один з одним.
Зробити:
Сторона домашнього комп'ютера (Windows або Linux):
Використовуйте звичайний інструмент налаштування Syncthing у браузері
Сторона VPS:
Спочатку підключіть VPS до переадресації порту:
ssh <user>@<VPS_IP> -L 8385:localhost:8384
Останній варіант дозволить перенаправити інструмент веб-конфігурації VPS Syncthing, який прослуховує порт 8384, на порт 8385 домашнього комп'ютера.
Потім запустіть це на VPS:
wget https://github.com/syncthing/syncthing/releases/download/v0.14.52/syncthing-linux-amd64-v0.14.52.tar.gz
tar xvfz syncthing-linux-amd64-v0.14.52.tar.gz
nohup syncthing-linux-amd64-v0.14.52/syncthing &
Потім у браузері домашнього комп’ютера відкрийте http: // localhost: 8385 : це буде конфігурація синхронізації VPS!
Інше рішення, яке я спробував:
Додаткові переваги Syncthing, які я щойно помітив:
Ви можете зменшити fsWatcherDelayS
в config.xml
від 10
до 2
секунд , так що після виконання CTRL + S, через 2 секунди (+ час для завантаження, тобто менш ніж на 1 секунду для невеликого текстового файлу) це на іншому комп'ютері
якщо ви синхронізуєте два комп’ютери, що знаходяться в одній локальній мережі (просто надавши DeviceID один одному, не потрібно дбати про локальні IP-адреси), він автоматично помітить, що йому не потрібно здійснювати транзит через Інтернет, але він може мати справу на місцях. Це чудово і дозволяє дуже швидку передачу швидкості (4 Мб / с!) Синхронізації phone <--> computer
обох підключених до одного і того ж домашнього маршрутизатора через WiFi ... ... тоді як він би застряг зі швидкістю 100 КБ / с на ADSL з синхронізацією Dropbox ! (мій ADSL обмежений на 100 Кб / с при завантаженні)
syncthing
.