Mailcow Backup- & Wiederherstellungsstrategie
Diese Seite dokumentiert die vollständige Backup- und Wiederherstellungsstrategie für den Mailserver (Mailcow) sowie die externe Sicherung auf TrueNAS.
Ziel der Backup-Strategie
- Tägliche automatische Backups
- Kurzzeit-Backup auf dem VPS
- Langzeit-Archivierung auf TrueNAS
- Schnelle Wiederherstellung im Notfall
Systemübersicht
Backup-Architektur
VPS (Mailcow Server)
- Erzeugt täglich ein vollständiges Mailcow-Backup
- Speichert Backups lokal
- Bewahrt Backups für 7 Tage auf
TrueNAS
- Holt Backups per Rsync (Pull-Prinzip)
- Speichert Backups langfristig
- Nutzt ZFS Snapshots für Versionierung
VPS-Backup
Speicherort der Backups
/opt/mailcow-dockerized/backups
Automatischer Backup-Job (Cron)
30 2 * * * cd /opt/mailcow-dockerized && printf "/opt/mailcow-dockerized/backups\n" | ./helper-scripts/backup_and_restore.sh backup all --yes >> /var/log/mailcow-backup.log 2>&1
Funktion des Jobs
- Start täglich um 02:30 Uhr
- Erstellt ein vollständiges Mailcow-Backup
- Protokolliert in:
/var/log/mailcow-backup.log
VPS-Rotation (Aufbewahrung 7 Tage)
Automatisches Löschen alter Backups
0 3 * * * find /opt/mailcow-dockerized/backups/ -maxdepth 1 -type d -name "mailcow-*" -mtime +7 -exec rm -rf {} \; >> /var/log/mailcow-rotation.log 2>&1
Funktion des Jobs
- Start täglich um 03:00 Uhr
- Löscht Backup-Ordner älter als 7 Tage
- Protokolliert in:
/var/log/mailcow-rotation.log
TrueNAS – Rsync Pull
Quelle
mailcowbackup@VPS:/opt/mailcow-dockerized/backups/
Ziel-Dataset
Data/Hosting-Backups/Mailcow
Eigenschaften
- Läuft täglich nach dem VPS-Backup
- Holt neue Backup-Ordner vom VPS
- Option „Delete“ ist deaktiviert
→ Alte Backups bleiben erhalten
Snapshot-Strategie auf TrueNAS
Dataset
Data/Hosting-Backups/Mailcow
Daily Snapshots
- Ausführung: täglich um 04:00 Uhr
- Aufbewahrung: 30 Tage
Weekly Snapshots
- Ausführung: jeden Sonntag um 05:00 Uhr
- Aufbewahrung: 12 Wochen
Monthly Snapshots
- Ausführung: am 1. des Monats um 06:00 Uhr
- Aufbewahrung: 12 Monate
Ziel
Langfristige Archivierung mit Wiederherstellungsmöglichkeit bis zu einem Jahr.
Manuelles Backup auf dem VPS
Falls sofort ein Backup benötigt wird:
cd /opt/mailcow-dockerized
printf "/opt/mailcow-dockerized/backups\n" | ./helper-scripts/backup_and_restore.sh backup all --yes
Kontrolle
ls -l /opt/mailcow-dockerized/backups
Manuelles Restore auf dem VPS
Achtung: Ein Restore überschreibt bestehende Daten.
Schritt 1 – Mailcow stoppen
cd /opt/mailcow-dockerized
docker compose down
Schritt 2 – Restore starten
./helper-scripts/backup_and_restore.sh restore all
Backup-Ordner auswählen.
Schritt 3 – Mailcow neu starten
docker compose up -d
Restore von TrueNAS (Bei Totalverlust des VPS)
Schritt 1 – Neuen VPS aufsetzen
- Betriebssystem installieren
- Mailcow frisch installieren
Schritt 2 – Backup vom TrueNAS zurückkopieren
Beispiel:
rsync -av truenas:/mnt/Data/Hosting-Backups/Mailcow/ /opt/mailcow-dockerized/backups/
Schritt 3 – Restore durchführen
Restore wie oben beschrieben ausführen.
Snapshot-Wiederherstellung auf TrueNAS
Wiederherstellung über GUI
Storage → Snapshots → Rollback
Wiederherstellung per CLI
zfs rollback Data/Hosting-Backups/Mailcow@snapshot-name
Testprotokoll
Letzter Backup-Test durchgeführt am: __________
Letzter Restore-Test durchgeführt am: __________
Notfallplan
VPS nicht erreichbar
- Neuen VPS aufsetzen
- Mailcow installieren
- Backup vom TrueNAS zurückholen
- Restore durchführen
- DNS prüfen
- Mailzustellung testen
Zusammenfassung der Strategie
Die Backup-Architektur basiert auf drei Ebenen:
- Tägliches Vollbackup auf dem VPS
- 7-Tage-Rotation lokal
- Langzeitarchivierung auf TrueNAS mit ZFS-Snapshots
Dadurch wird sichergestellt:
- Schnelle Wiederherstellung bei kleinen Fehlern
- Absicherung gegen Serverausfall
- Langfristige Archivierung
- Schutz vor versehentlichem Löschen