From 8316098124eb096d956830fbe4cdd645bacd6289 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 15 Sep 2026 11:37:39 +0600 Subject: [PATCH] =?UTF-8?q?[2026-09-15]=20vault-sync-pipeline:=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=87=D0=B8=D0=B9=20=D0=BF=D1=83=D1=82=D1=8C?= =?UTF-8?q?=20docker=20exec=20+=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- family/how-to/vault-sync-pipeline.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/family/how-to/vault-sync-pipeline.md b/family/how-to/vault-sync-pipeline.md index 644e63d8..1a9f351e 100644 --- a/family/how-to/vault-sync-pipeline.md +++ b/family/how-to/vault-sync-pipeline.md @@ -71,6 +71,32 @@ cronjob action='list' cronjob action='run' job_id='29851c413903' ``` +### ✅ Прямой путь (проверен фактом 2026-09-15) — быстрее, чем `cronjob run` + +Скрипт исполняется **внутри контейнера `hermes-taiga`** на NAS. Вызвать напрямую: + +```bash +ssh truenas_admin@mallexxx.duckdns.org \ + 'docker exec hermes-taiga bash /opt/data/sync-vault.sh 2>&1 | tail -20' +``` + +**Признак успеха** — три строки `Pushed ✓`: +``` +[] [taiga-vault] Pushed ✓ +[] [syncthing] Pushed ✓ +[] [syncthing-out] Pushed ✓ +``` + +**Лог:** `docker exec hermes-taiga tail -12 /tmp/vault-sync.log` + +### Скрипт `sync-vault-taiga.sh` + +Локальная копия для чтения: `~/.hermes/hermes-whale/sync-vault-taiga.sh` (3342 б). +`/vault` = `/mnt/RED_2TB/storage/obsidian` (sparse: `personal/`, `family/`, `.obsidian/`) · `/vault.git` = bare · `/obsidian-syncthing` = SyncThing-папка. +Авторы коммитов: `taiga@hermes` (пушит агент), `syncthing@hermes` (пушит телефон). +`core.fileMode false` — обязателен (иначе chmod-варнинги root vs UID 950 на ZFS). +**Конфликты скрипт НЕ разрешает** — оставляет маркеры и коммитит. + **⚠️ Питфолл:** задача оформлена как **prompt**, а не как `--script`, поэтому её исполняет LLM-раунд. Последствия: - провайдер не отвечает → тик висит до 600 с, очередь блокируется на 30–57 мин; - агент может ответить текстом **без вызова инструмента** → статус `completed`, но скрипт **не запущен** (~6,6 % тиков).