Backup-Status
Single-Pane-Übersicht aller Backup-Quellen. Ampel: grün <26h, gelb 26–48h, rot ≥48h.
Daten werden client-seitig aus /data/backup-status.json geladen
(Stub — Phase 1.5 ersetzt das durch R2-Pull).
VPS
vps-405d22f5
93 Container
Snapshot: 2026-04-30T10:21:35+02:00 (Ret. 7d)
Edge-1
shipping-edge-1 (10.8.0.4)
Last sync: 10:45
Edge-2
shipping-edge-2 (10.8.0.5)
Last sync: 10:45
Symmetrisches Spiegel zu Edge-1.
Backup-Matrix
| Quelle | Schedule | Last Success | Alter | Targets | Retention | Status |
|---|---|---|---|---|---|---|
| OVH Managed PG (11 DBs) | daily 01:46 | 2026-04-30T01:46:27+02:00 | 14h | local, s3, edge1, edge2 | 365d | OK |
| Zammad PG (OVH Managed) | daily 01:30 | 2026-04-30T01:31:53+02:00 | 14h | local, s3, edge1, edge2 | 365d | OK |
| ERPNext MariaDB | daily 01:36 | 2026-04-30T01:36:09+02:00 | 14h | local, s3, edge1, edge2 | 365d | OK |
| wg-easy SQLite | daily 01:40 | 2026-04-30T01:40:01+02:00 | 14h | local, s3, edge1, edge2 | 365d | OK |
| Docker Volumes (22 of 41) 18 of 41 volumes NOT yet covered — see GAP P1-2 | daily 03:01 | 2026-04-30T03:01:55+02:00 | 12h | local, s3, edge1 (90d), edge2 (90d) | 365d | OK |
| Configs (non-Git) no Healthchecks ping (GAP P1-7) | daily 03:10 | 2026-04-30T03:10:45+02:00 | 12h | local, s3, edge1, edge2 | 365d | OK |
| OVH S3 Sync (offsite) | daily 03:20 | 2026-04-30T03:20:20+02:00 | 12h | s3 adorable-powell | 365d | OK |
| Edge-Pi Sync | daily 03:33 | 2026-04-30T03:30:50+02:00 | 12h | edge1, edge2 | 90d | OK |
| Intraday (4 slots/day) edge-only between 22:00 and 03:20 next day | 10/14/18/22 | 2026-04-30T14:00:54+02:00 | 1h | edge1, edge2 | 30d | OK |
| Bitwarden Sync | daily 05:00 | 2026-04-30T14:19:48+02:00 | 1h | bitwarden cloud (22 services + 13 pg-credentials) | — | OK |
| Restore-Test (end-to-end) P0 — manual run pending if >35d | monthly 1st 06:01 | 2026-04-30T09:35:52+02:00 | 6h | ephemeral PG :25432 | — | OK |
| Crown-Jewels (R2 cross-provider) Cross-provider insurance against OVH-account-compromise | daily 04:00 | 2026-04-30T11:07:32+02:00 | 4h | r2-eu oysi-crown-jewels (90d immutable lock) | 90d | OK |
Healthchecks (8 Jobs)
- OVH Managed PG (11 DBs) 86d574c8-cfb2-4eda-b5d3-84f31a3f414eOK
- Zammad PG (OVH Managed) cb073e7c-79ed-4b59-98eb-4f484604869bOK
- ERPNext MariaDB 1074d9f5-cdc6-4c6a-80ca-7fb04331fe11OK
- wg-easy SQLite 15580c31-67f0-42b6-afd8-44afc4f8d09eOK
- Docker Volumes (22 of 41) 4a0ef572-36e1-429a-83f8-ac2c329eb572WARN
- OVH S3 Sync (offsite) 78bbb37f-5eb8-459b-a843-5639773667a3OK
- Edge-Pi Sync eb4ff2a4-aae7-46e8-8010-ba58c3c186c9OK
- Intraday (4 slots/day) 60662480-fabe-43bb-bbe0-8c3137a3d3b7OK
- Crown-Jewels (R2 cross-provider) 08f6dd6c-ea66-4609-8387-1e5aafede7a7OK
Hinweis: Stub-Daten
Diese Seite wird in Phase 1.5 client-seitig aus
https://<r2-host>/dr-state/backup-status.json
laden. Aktuell hardcoded aus src/data/backup-status.json.
Stub für späteren R2-Pull:
const r = await fetch("/data/backup-status.json", { cache: "no-store" });
const data = await r.json();
console.log(data.summary, data.jobs);