rpi: архив vault в gitea — каждый час при изменениях (было раз в сутки); алерт свежести 3 ч
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
7ef4d0b3e5
commit
b44a9e6fb2
@@ -99,7 +99,7 @@ groups:
|
||||
or (time() - backup_last_success_timestamp{job="backup_onedrive_verify"} > 8 * 86400)
|
||||
or (time() - backup_last_success_timestamp{job="backup_servers"} > 26 * 3600)
|
||||
or (time() - backup_last_success_timestamp{job="backup_router"} > 30 * 3600)
|
||||
or (time() - backup_last_success_timestamp{job="backup_vault"} > 26 * 3600)
|
||||
or (time() - backup_last_success_timestamp{job="backup_vault"} > 3 * 3600)
|
||||
or (time() - backup_last_success_timestamp{job="backup_router_sample"} > 35 * 86400)
|
||||
for: 10m
|
||||
labels: {severity: critical}
|
||||
@@ -194,7 +194,7 @@ groups:
|
||||
summary: "Дом: необычно большая ОТДАЧА в интернет — {{ $value | humanize1024 }}Б/с 30+ мин (облачная синхронизация, торрент или что-то подозрительное). Кто: `router traffic --live`."
|
||||
- alert: BackupNeverReported
|
||||
expr: absent(backup_last_success_timestamp{instance="rpi",job="backup_vault"})
|
||||
for: 26h
|
||||
for: 3h
|
||||
labels: {severity: warning, instance: rpi, job: backup_vault}
|
||||
annotations:
|
||||
summary: "rpi: архив Obsidian-vault в gitea не отчитывался 26+ ч — проверь vault-archive / obsidian-sync"
|
||||
summary: "rpi: архив Obsidian-vault в gitea не отчитывался 3+ ч — проверь vault-archive / obsidian-sync"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/bash
|
||||
# Суточный ОДНОСТОРОННИЙ архив Obsidian-vault в gitea (ruzzy/MyVault).
|
||||
# Ежечасный (коммит только при изменениях) ОДНОСТОРОННИЙ архив 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.
|
||||
@@ -14,7 +14,7 @@ if "${G[@]}" diff --cached --quiet; then
|
||||
echo "изменений нет"
|
||||
else
|
||||
stat=$("${G[@]}" diff --cached --shortstat)
|
||||
"${G[@]}" commit -q -m "Архив vault $(date +%F)" -m "$stat"
|
||||
"${G[@]}" commit -q -m "Архив vault $(date "+%F %H:%M")" -m "$stat"
|
||||
echo "коммит: $stat"
|
||||
fi
|
||||
"${G[@]}" push -q origin HEAD:main
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[Unit]
|
||||
Description=Daily one-way archive of Obsidian vault to gitea (ruzzy/MyVault)
|
||||
Description=Hourly one-way archive of Obsidian vault to gitea (ruzzy/MyVault)
|
||||
Wants=network-online.target
|
||||
After=network-online.target obsidian-sync.service
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[Unit]
|
||||
Description=Daily Obsidian vault archive
|
||||
Description=Hourly Obsidian vault archive (commit only if changed)
|
||||
|
||||
[Timer]
|
||||
OnCalendar=*-*-* 03:45
|
||||
RandomizedDelaySec=10m
|
||||
OnCalendar=hourly
|
||||
RandomizedDelaySec=5m
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
|
||||
Reference in New Issue
Block a user