Support home-based mailboxes during automated upgrades
This commit is contained in:
1 parent
8e6c9a058f
commit
56fbcdad74
8 files changed
+194
-9
No files matched your search
+14
-2
@@ -83,7 +83,7 @@ Ein neuer Lauf heißt beispielsweise `appbackup_2026-09-10_02-30-00_a1b2c3d4`. Z
|
||||
| `nextcloud-data` | `NC_DATA_DIR`, sofern aktiviert |
|
||||
| `gitea`, `gitea-etc` | `GITEA_DATA_DIR`, `GITEA_ETC_DIR` |
|
||||
| `gitea-repos`, `gitea-custom` | Optionale explizite externe Repository-/Custom-Pfade |
|
||||
| `mail`, `postfix`, `dovecot` | Mailstore und beide Konfigurationsverzeichnisse |
|
||||
| `mail`, `postfix`, `dovecot` | Zentraler Mailstore (bei `ENABLE_MAIL_STORE=true`) und beide Konfigurationsverzeichnisse |
|
||||
| `mail-home-0`, `mail-home-1`, … | Reihenfolge von `MAIL_HOME_DIRS`, mit Excludes und Dateisystemgrenze |
|
||||
| `extra-0`, `extra-1`, … | Reihenfolge von `EXTRA_PATHS` |
|
||||
|
||||
@@ -156,6 +156,17 @@ Gitea: `APP_DATA_PATH`, `[repository] ROOT`, Custom-Verzeichnis und `app.ini` pr
|
||||
|
||||
`MAIL_BACKUP_MODE=live` und abgeschaltete Stopps sind bewusste Ausnahmen mit Konsistenzrisiko. Das Log weist darauf hin. Home-Verzeichnisse werden mit `--one-file-system` kopiert: Daten anderer Mounts fehlen dann absichtlich. Mailqueues, zusätzliche Spamfilter-/DKIM-Verzeichnisse oder Maildatenbanken sind nur gesichert, wenn sie explizit im Umfang stehen.
|
||||
|
||||
`ENABLE_MAIL_STORE=true` bleibt der kompatible Default: `MAIL_DIR` muss existieren.
|
||||
Bei Mailboxen ausschließlich in Benutzerverzeichnissen kann explizit
|
||||
`ENABLE_MAIL_STORE=false` gesetzt werden. Dann sind aktivierte, nicht leere
|
||||
`MAIL_HOME_DIRS` zwingend; fehlende Homes lassen die Vorprüfung scheitern.
|
||||
Postfix/Dovecot-Konfigurationen und Dienststopps bleiben erhalten. Der Restore
|
||||
verwendet dieselbe Komponentenzuordnung und stellt Home-Mailboxen über
|
||||
`mail-home-N` wieder her. Die Vollständigkeit der Benutzerliste sowie Excludes,
|
||||
Symlinks und Mountgrenzen muss der Betreiber prüfen. Der Paket-Updater bietet
|
||||
bei fehlendem zentralem Verzeichnis einen Pfaddialog oder eine ausdrückliche
|
||||
Homes-Bestätigung; Details stehen in [UPDATE_ANLEITUNG.md](UPDATE_ANLEITUNG.md).
|
||||
|
||||
### Speicher, Retention und Protokolle
|
||||
|
||||
`MIN_FREE_GB` ist eine Reserveprüfung auf den Staging- und Archivdateisystemen, keine genaue Prognose. Die Kopie braucht Platz für unkomprimierte Quelldaten und Dumps; Archive benötigen zusätzlich komprimierten Platz. Beim Restore kommen die private Kopie des Sicherungssatzes und entpackte Daten hinzu. Eine Platte kann zwischen Prüfungen volllaufen; der Lauf muss dann scheitern. Ausreichend Reserve und ein externes Kapazitätsmonitoring einplanen.
|
||||
@@ -293,10 +304,11 @@ Die Entfernung der drei DB-Dateien aus dem aktuellen Baum löscht deren Historie
|
||||
|
||||
Reproduzierbar mit `tests/Dockerfile` und `tests/run.sh`. Der Container bekommt das Repository nur lesbar und benötigt während der Tests kein Netzwerk. Die MariaDB läuft ohne TCP-Port in einem temporären Verzeichnis. systemd/occ werden simuliert; alle eigentlichen Archive, Dateikopien, Dumps/Imports und Crypt-Operationen sind real.
|
||||
|
||||
Ergebnis des lokalen Abschlusslaufs am 10.09.2026: **30 Tests erfolgreich**, Shell-Syntax und ShellCheck ohne Befund. Testumgebung: Debian 13.6, MariaDB 11.8.6, rclone 1.60.1-DEV (Distributionspaket), ShellCheck 0.10.0. Diese Versionsangaben beschreiben die Testumgebung, keine Empfehlung für die Produktivversion.
|
||||
Ergebnis des lokalen Abschlusslaufs am 10.09.2026: **34 Tests erfolgreich**, Shell-Syntax und ShellCheck ohne Befund. Testumgebung: Debian 13.6, MariaDB 11.8.6, rclone 1.60.1-DEV (Distributionspaket), ShellCheck 0.10.0. Diese Versionsangaben beschreiben die Testumgebung, keine Empfehlung für die Produktivversion.
|
||||
|
||||
Geprüfte Fälle umfassen:
|
||||
|
||||
- Fehlender Mailstore ohne Live-Änderung, explizite Pfadkorrektur, Homes-only-Update samt tatsächlichem Maildatei-Restore und Ablehnung unvollständiger Home-Konfigurationen.
|
||||
- Shell-Syntax und ShellCheck der Paketdateien.
|
||||
- MyISAM-Dump und tatsächlicher SQL-Import samt Dateiwiederherstellung.
|
||||
- gzip/zstd, korrekte Excludes, vorhandener Wartungsmodus und inaktive Dienste.
|
||||
|
||||
Reference in new issue
Block a user