Make backup report hostname configurable
This commit is contained in:
1 parent
99da6460d2
commit
64eab1d3c2
7 files changed
+121
-7
No files matched your search
+20
-1
@@ -349,6 +349,25 @@ Absender `app-backup@<FQDN>` bei leerem/fehlendem `MAIL_FROM`, Betreffpräfix
|
||||
`/usr/sbin/sendmail`; `MAIL_SEND_TIMEOUT` begrenzt dessen Aufruf auf 30 Sekunden
|
||||
(zulässig 1–300). Der Log-Auszug darf 0–10000 Zeilen umfassen.
|
||||
|
||||
Seit 12.09.2026 überschreibt `MAIL_HOSTNAME` den Hostnamen im Betreff und im
|
||||
`Host:`-Feld des Berichts. Für Gemini in `/etc/app-backup/app-backup.conf` setzen:
|
||||
|
||||
```bash
|
||||
MAIL_HOSTNAME="gemini.jr-it-services.de"
|
||||
```
|
||||
|
||||
Der Betreff folgt weiterhin dem Schema `[app-backup] SUCCESS/FAIL HOST LAUF`,
|
||||
zum Beispiel `[app-backup] SUCCESS gemini.jr-it-services.de appbackup_2026-…`.
|
||||
Ein leerer oder fehlender Wert fällt auf `socket.getfqdn()` zurück. Die Einstellung
|
||||
gilt für Erfolgs- und Fehlermails und bleibt beim Paketupdate erhalten. Vor dem
|
||||
Update gesetzt, wirkt sie bereits im Abnahmebackup des neuen Pakets. Spätere
|
||||
Änderungen werden beim nächsten Lauf eingelesen; ein Dienstneustart entfällt.
|
||||
Systemhostname, Archivnamen und Manifest-Hostname bleiben unverändert.
|
||||
Auch der Absender bleibt unabhängig: Ein explizites `MAIL_FROM` wird beibehalten;
|
||||
bei leerem Wert wird weiterhin `app-backup@<System-FQDN>` verwendet.
|
||||
Header-Zeilenumbrüche im Override werden wie bei den anderen Mailheadern
|
||||
abgewiesen; ein Berichtsfehler verändert den Backup-Exit-Code nicht.
|
||||
|
||||
Der UTF-8-Bericht enthält Zeit, Host, Status, Exit-Code, Dauer, Lauf-ID und letzte
|
||||
Phase, Konfigurations-/Arbeits-/Archivpfade, Kompression, Crypt-Ziel und getrennten
|
||||
Uploadstatus. Dieser wird erst nach erfolgreichem Rücklesen aller Inhalte und
|
||||
@@ -536,7 +555,7 @@ 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.
|
||||
|
||||
Verifikation am 10.09.2026: **65 Testfälle im vollständigen Durchlauf erfolgreich** (603,4 Sekunden), einschließlich ausführlicher Mailberichte und der aktualisierten Paketinstallation. 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. Der MTA wird durch eine lokale Nachrichten-Attrappe ersetzt; es wurden keine echten E-Mails versendet. Die Zustellung auf Gemini ist nach Installation zu prüfen.
|
||||
Verifikation am 12.09.2026: **68 Testfälle abgedeckt**. Im Gesamtlauf (741,0 Sekunden) bestanden 63 Fälle direkt. Fünf Mail-Testprüfungen erwarteten LF statt der korrekten SMTP-Zeilenumbrüche CRLF; nach Korrektur dieser Prüfungen bestanden alle 13 gezielt wiederholten Mail-/Installertests (155,9 Sekunden), einschließlich der fünf betroffenen Fälle. Geprüft sind Hostname-Override bei Erfolg und Fehler, leerer/fehlender Wert, unveränderter Absender, Header-Schutz und Paketupdate mit erhaltener Einstellung. 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. Der MTA wird durch eine lokale Nachrichten-Attrappe ersetzt; es wurden keine echten E-Mails versendet. Die Zustellung auf Gemini ist nach Installation zu prüfen.
|
||||
|
||||
Die Regressionstests für `RCLONE_SIZE_ONLY` und zusätzliche Marker-Zeilenumbrüche scheiterten vor den jeweiligen Korrekturen mit einem fälschlich erfolgreichen Backup und bestanden danach. Upload-/Markerfehler werden an den Befehlsgrenzen injiziert, während Crypt-Übertragung und Inhaltsvergleich real bleiben. Die Tests bilden keine OneDrive-API nach; das tatsächliche HTTP-409-Wiederholungsverhalten ist durch den Betreiberlauf und den rclone-1.74.3-Quellcode separat belegt.
|
||||
|
||||
|
||||
Reference in new issue
Block a user