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
34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
# 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`):
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
make check # build + vet + lint + test, analog Core/DMS
|
|
```
|