#!/bin/bash # Суточный ОДНОСТОРОННИЙ архив Obsidian-vault в gitea (ruzzy/MyVault). # Vault синхронизирует Obsidian Sync (obsidian-sync.service, ~astra/vault); git — только история: # commit + push, никогда не pull — в vault отсюда ничего не попадает. # Git-каталог отдельно (~astra/vault.git, core.worktree=~astra/vault), чтобы в vault не было .git. # Скрытые файлы (.obsidian, данные плагинов, .gitignore) Sync на rpi не приносит — их не трогаем, # иначе git записал бы их удаление. set -euo pipefail cd "$HOME" G=(git --git-dir="$HOME/vault.git" --work-tree="$HOME/vault") systemctl is-active -q obsidian-sync || { echo "obsidian-sync не работает — архив устарел бы, пропуск"; exit 1; } "${G[@]}" add -A -- . ":(exclude).*" ":(exclude)**/.*" if "${G[@]}" diff --cached --quiet; then echo "изменений нет" else stat=$("${G[@]}" diff --cached --shortstat) "${G[@]}" commit -q -m "Архив vault $(date +%F)" -m "$stat" echo "коммит: $stat" fi "${G[@]}" push -q origin HEAD:main echo "OK: $("${G[@]}" log -1 --format='%h %s')"