feat: add sync files\folders

This commit is contained in:
2026-08-23 05:26:36 +05:00
parent 363a4a7e5b
commit 27cf814c39
6 changed files with 327 additions and 10 deletions
+6 -4
View File
@@ -109,10 +109,12 @@ commands не пустые для секций, которые присутст
### Этап 4 — SFTP-синхронизация
1. src/sync.rs: открытие SFTP-сесси поверх установленной SSH-сессии.
2. Одиночный файл: sftp.open/sendfile -> запись в target.
3. Рекурсивная папка: walkdir по source; для каждой подпапки удалённый mkdir
с игнорированием ошибки "already exists" (аналог mkdir -p); файлы поверх.
1. src/sync.rs: открытие SFTP-сессии поверх установленной SSH-сессии
(subsystem sfp через russh + крейт russh-sftp, см. ADR-006).
2. Одиночный файл: remote create/truncate -> запись -> shutdown; если target —
существующий каталог, файл кладётся внутрь с локальным именем.
3. Рекурсивная папка: walkdir по source; для каждой подпапки mkdir если её ещё нет
(проверка metadata, аналог mkdir -p); файлы поверх.
4. Лог: `[SFTP] transferring dist/ -> /var/www/node-app ... Done!`,
счётчик файлов/байт.