Recover backup capacity with verified adaptive retention

Resume pending publications under local pressure, allow verified offsite-only history as a final local recovery stage, and prune old complete remote sets against actual upload quota while preserving the newest verified copies. Document defaults, recovery limits and validation; add pressure and quota regression coverage.
This commit is contained in:
admin committed 2026-10-22 15:08:35 +02:00
1 parent a79f48bc2a
commit 6737405b35
10 files changed
+601 -31

No files matched your search

+12 -8
View File
@@ -1,10 +1,11 @@
# Dokumentation app-backup v2
**Aktualisiert am 21. September 2026:** Die Platzbereinigung schützt mit
`SPACE_KEEP_LOCAL=1` mindestens eine vollständig geprüfte, als hochgeladen markierte
lokale Sicherung; reguläre Retention und Speicherreserve bleiben separat bestehen.
Manifest und Abschlussmarker werden vor lokaler Entfernung bytegenau remote verglichen.
Siehe [Speicherstrategie und Fehlerbehebung](SPEICHER.md).
**Aktualisiert am 22. Oktober 2026:** Adaptive lokale und Remote-Bereinigung löst
auch die Blockade durch die letzte lokale Kopie. Standardmäßig darf vorübergehend
nur die erneut geprüfte Offsite-Kopie verbleiben (`SPACE_ALLOW_REMOTE_ONLY=true`).
Unbestätigte vollständige lokale Sätze werden bei lokalem Platzdruck erneut
veröffentlicht. Die Quotenbereinigung schützt mindestens `SPACE_KEEP_REMOTE=1`
Remote-Satz. [Verbindlicher Ablauf, Einstellungen und Grenzen](SPEICHER.md).
Seit 16. September 2026: Backup, Platzbereinigung und Update-Abnahme
prüfen remote nur Dateiexistenz und Größen; Archive werden erst beim monatlichen
@@ -355,15 +356,18 @@ DB-Größenabfragen inventarisiert. Die Platzschätzung enthält Reserven für D
Dateisystem-Metadaten und Wachstum. `MIN_FREE_GB` (Default 10 GiB) bleibt zusätzlich
frei. Erst nach erfolgreicher Platzbeschaffung werden Writer angehalten.
Reicht Scratch-Bereinigung nicht, werden ältere geeignete lokale Sätze unter
Wahrung von `SPACE_KEEP_LOCAL` (Default und Minimum eins, seit 21.09.2026) lokal
Reicht Scratch-Bereinigung nicht, werden ältere geeignete lokale Sätze
zunächst unter Wahrung von `SPACE_KEEP_LOCAL` (Default eins) lokal
vollständig validiert und remote auf Dateiexistenz und passende Größen geprüft.
Remote-Manifest und Abschlussmarker müssen zusätzlich bytegenau übereinstimmen.
Dabei werden keine Archive geladen. Die normale Retention bleibt separat bei
`RETENTION_KEEP_LAST` (Default drei). Bei weiterem Platzmangel nennt das Log das
Defizit und die geschützten Archivbestände mit belegten Bytes und Schutzgrund.
Nur danach darf ihre lokale Kopie entfernt werden. Offsite-Dateien bleiben
unverändert. Diese Platzbereinigung gilt auch bei `--no-retention` während einer
erhalten, außer bei der separaten Quotenbereinigung. Wenn die lokale Mindestkopie
den nächsten Lauf blockiert, darf `SPACE_ALLOW_REMOTE_ONLY=true` sie nach erneuter
Offsite-Prüfung freigeben; Details und Risiken stehen in `SPEICHER.md`.
Diese Platzbereinigung gilt auch bei `--no-retention` während einer
Update-Abnahme und kann das lokale Aufbewahrungsalter unterschreiten.
Jede erfolgreich komprimierte Komponente wird vor dem Entfernen ihrer