Support home-based mailboxes during automated upgrades

This commit is contained in:
admin committed 2026-09-10 14:31:32 +02:00
1 parent 8e6c9a058f
commit 56fbcdad74
8 files changed
+194 -9

No files matched your search

+41 -1
View File
@@ -55,6 +55,19 @@ für Tests/Diagnose gedacht; dabei besteht keine Absicherung gegen SSH-Abbruch.
## Gezielte Rückfragen und Grenzen
- **Zentrales Mailverzeichnis fehlt, etwa `/var/vmail`:** Der Installer fragt vor
der Installation nach dem tatsächlichen absoluten Pfad. Alternativ lässt sich
dieser mit `--mail-dir /tatsaechliche/mailablage` übergeben. Kein leeres
Ersatzverzeichnis anlegen: Das würde fehlende Maildaten nur verdecken.
Liegen **alle** Mailboxen in den angezeigten `MAIL_HOME_DIRS`, im Dialog `homes`
wählen und die vollständige Abdeckung bestätigen. `--mail-homes-only` erteilt
dieselbe ausdrückliche Bestätigung ohne Dialog. Dabei müssen die Home-Sicherung
aktiviert und alle konfigurierten Homes vorhanden sein. Excludes und
Dateisystemgrenzen gelten weiterhin; ausgeschlossene Verzeichnisse, verlinkte
externe Mailablagen und weitere Mounts sind dadurch nicht abgedeckt.
Postfix/Dovecot-Konfigurationen und Maildienst-Stopps bleiben aktiv.
Bei unbekannter Mailablage abbrechen und zuerst die Mailserver-Konfiguration
prüfen. Ein fehlender Pfad wird nie automatisch übersprungen.
- **Rclone-Datei nicht eindeutig:** Pfad im Dialog oder mit `--rclone-config FILE`
angeben. Eine user-eigene Datei wird in eine neue root-eigene Datei kopiert;
die vom Benutzer verwendete Originaldatei bleibt unverändert.
@@ -94,6 +107,33 @@ bleiben erhalten; beim Aktivieren kann `Persistent=true` einen Lauf nachholen.
## Fehler und Rückweg
Ein Abbruch `Missing source: /var/vmail` bei der **Vorprüfung**, wie beim Paket
`8e6c9a058fa9`, erfordert kein Rollback. Mit dem korrigierten Paket erneut starten
und die Mailablage klären. Die bisherige Konfiguration und der Timer sind erhalten;
der abgebrochene Versuch enthält noch kein erfolgreiches neues Backup.
Bereits bewusst getroffene Entscheidungen können als Optionen mitgegeben werden:
```bash
sudo bash app-backup-update-VERSION.run --enable-gitea --cron-services crond.service
```
Diese Optionen passen nur, wenn Gitea aufgenommen werden soll und das Pausieren
aller Cronjobs über `crond.service` ausdrücklich akzeptiert wurde.
Für Mailablagen wie `/home/johannes/Mail` unter den konfigurierten Benutzerhomes
zusätzlich `--mail-homes-only` verwenden, sofern damit alle Postfächer erfasst sind:
```bash
sudo bash app-backup-update-VERSION.run \
--enable-gitea --cron-services crond.service --mail-homes-only
```
Der Installer zeigt die übernommenen Home-Verzeichnisse an. `Mail/` einschließlich
`cur`, `new`, `tmp` und Dovecot-Dateien wird mit den normalen Home-Excludes der
Vorlage vollständig kopiert, sofern es auf demselben Dateisystem liegt und kein
Verweis auf eine externe Ablage ist. Weitere Benutzer müssen in `MAIL_HOME_DIRS`
stehen; das Vorhandensein eines einzelnen Postfachs belegt nicht deren Abdeckung.
Bei einem Fehler nach Beginn der Installation bleibt der Backup-Timer gestoppt.
Es erfolgt kein automatisches Zurücksetzen über möglicherweise noch laufende oder
teilweise wiederhergestellte Anwendungen. Logs und gegebenenfalls
@@ -125,7 +165,7 @@ Das ausführbare Paket ausschließlich über euren vertrauenswürdigen Kanal bez
## Verifikation der Lieferung
30 Container-Tests sowie ShellCheck und Shell-Syntaxprüfung erfolgreich.
34 Container-Tests sowie ShellCheck und Shell-Syntaxprüfung erfolgreich.
Die Tests enthalten echte MariaDB-Dumps/Imports und lokale rclone-Crypt-Roundtrips;
systemd/occ und die systemd-run-Übergabe sind simuliert. Die tatsächliche
Server-/OneDrive-Prüfung erfolgt beim ersten Paketlauf. Ein fachlicher Restore