Files
nexarch/archive/README.md
T
sysopsandClaude Sonnet 5 5e4b91c4e9 BAK-01: datenbank-backup-strategie
Neues Modul-Verzeichnis code/archive/ (Monorepo-Muster wie code/dms/).
PostgreSQL-17-natives inkrementelles Backup (pg_basebackup --incremental,
WAL-Summarization) statt WAL-Archiving, um den geteilten Testhost ohne
Neustart umzustellen (summarize_wal=on per pg_reload_conf). Rolle
nexarch_backup mit REPLICATION-Attribut angelegt.

internal/backup: FullBackup/IncrementalBackup (pg_basebackup-Wrapper),
Verify (vollstaendiges Lesen von base.tar.gz, gzip+tar, nicht nur Header),
Rotate/ListGenerations (generationsbasiert, aeltere zuerst entfernt).
cmd/backup-cli fuer systemd-Timer-Aufruf (deploy/systemd/
nexarch-archive-backup-*.timer, taeglich/stuendlich/taeglich).

Auf 192.168.1.131 verifiziert: 4/4 Tests gegen echte Postgres-17-Instanz
(kein Mock) - inkrementelle Sicherung real kleiner als Vollsicherung,
Verifikation erkennt absichtlich beschaedigte Datei, Rotation entfernt nur
die aeltesten Generationen. Zusaetzlich ECHT verdrahtet: backup-cli gebaut,
3 systemd-Timer installiert+aktiviert, jeder der drei Dienste einmal ueber
systemctl start end-to-end ausgeloest (status=0/SUCCESS je Dienst) - nicht
nur go test, sondern der reale Automatisierungspfad selbst geprueft.

Siehe archive/docs/BAK-01-PRUEFPROTOKOLL.md fuer alle Pruefungsergebnisse.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhgFcLS8tYMhDJpP74C6AQ
2026-08-29 22:49:13 +02:00

1.1 KiB

NEXARCH Archive

Zentrales, modulübergreifendes Modul für Aufbewahrung, WORM, Compliance und Backup. Dieses Verzeichnis enthält bisher internal/backup (BAK-01, Datenbank-Backup-Strategie) — weitere Bausteine folgen ticketweise.

BAK-01: Datenbank-Backup

cmd/backup-cli — Aufrufpunkt für systemd-Timer (siehe ../deploy/systemd/nexarch-archive-backup-*.timer):

export NEXARCH_BACKUP_PG_USER=nexarch_backup
export NEXARCH_BACKUP_PG_PASSWORD=...
export NEXARCH_BACKUP_DIR=/var/backups/nexarch
export NEXARCH_BACKUP_KEEP_GENERATIONS=7   # optional, Default 7

backup-cli full          # neue Vollsicherung + Verifikation
backup-cli incremental   # inkrementelle Sicherung gegen die neueste Generation
backup-cli rotate        # entfernt alle bis auf die neuesten N Generationen

Voraussetzung: die konfigurierte Postgres-Rolle braucht das REPLICATION-Attribut (pg_basebackup nutzt eine Replikationsverbindung), und summarize_wal = on muss serverseitig gesetzt sein (PostgreSQL 17s natives inkrementelles Backup, keine WAL-Archivierung nötig).

Prüfungen

make check   # build + vet + lint + test, analog Core/DMS