- Veröffentlicht am
- • How2-Tipps
Backup und Restore von SOGo-Datenbanken – so bleibt alles sicher
- Autor
-
-
- Benutzer
- tmueller
- Beiträge dieses Autors
- Beiträge dieses Autors
-
Wer SOGo produktiv im Einsatz hat – egal ob in einer kleinen Firma, Verwaltung oder Bildungseinrichtung – weiß: E-Mail, Kalender, Kontakte und Aufgaben sind wertvolle Daten. Ein Ausfall oder Datenverlust kann teuer werden. Deshalb gehört ein regelmäßiges Backup der SOGo-Datenbank (PostgreSQL oder MySQL) zur absoluten Pflicht.
In diesem Artikel zeigen wir, wie du SOGo-Datenbanken mit PostgreSQL sicherst, automatische Cronjobs einrichtest und im Ernstfall eine saubere Wiederherstellung durchführst.
1. Warum Backups für SOGo so wichtig sind
SOGo speichert die meisten Daten nicht im Dateisystem, sondern in der Datenbank:
- Benutzerinformationen
- E-Mail-Metadaten
- Kalenderereignisse
- Kontakte und Aufgaben
- Freigabeeinstellungen
Zwar liegen IMAP-E-Mails meist auf einem separaten Mailserver (z. B. Dovecot), aber alles, was mit Organisation und Benutzerkontext zu tun hat, steckt in der Datenbank – und ist somit kritisch.
Ein sauberes Backup schützt also nicht nur vor Hardwareausfällen, sondern auch vor fehlerhaften Updates, Migrationen oder menschlichen Irrtümern.
2. PostgreSQL-Datenbank sichern (Backup)
Die einfachste Methode für ein vollständiges Backup ist der Befehl pg_dump.
Manuelles Backup
sudo -u postgres pg_dump -Fc sogo > /backup/sogo_$(date +%F).dump
-Fcsteht für das komprimierte Custom-Format, ideal für Wiederherstellungen.sogoist der Name der Datenbank.- Das Backup landet im Verzeichnis
/backupmit aktuellem Datum.
💡 Tipp: Lege das Backup-Verzeichnis auf ein externes Laufwerk oder ein NAS – so überlebt es auch einen Serverausfall.
3. Automatisches Backup per Cronjob
Damit das Backup regelmäßig ausgeführt wird, bietet sich ein Cronjob an. Beispiel für ein tägliches Backup um 3 Uhr morgens:
sudo crontab -e
Dann hinzufügen:
0 3 * * * /usr/bin/pg_dump -Fc sogo > /backup/sogo_$(date +\%F).dump
Zusätzlich kann man alte Backups automatisch löschen, um Speicher zu sparen:
find /backup -type f -name "sogo_*.dump" -mtime +14 -delete
👉 Damit bleiben nur die letzten 14 Tage erhalten.
4. Verschlüsselung und Offsite-Backups
Für sensible Daten (z. B. bei Behörden oder Gesundheitsdaten) sollten Backups verschlüsselt werden:
Beispiel mit GPG
gpg --encrypt --recipient admin@deinunternehmen.de /backup/sogo_2025-10-25.dump
Oder nutze ein automatisiertes Tool wie Restic, Duplicity oder BorgBackup, um verschlüsselte Sicherungen direkt in die Cloud oder auf externe Speicher zu übertragen.
5. Vollständiger System-Backup-Tipp
Neben der Datenbank solltest du zusätzlich folgende Verzeichnisse sichern:
/etc/sogo/ # Konfiguration
/var/log/sogo/ # Logs (optional)
/etc/postfix/, /etc/dovecot/ # Mailserver (falls integriert)
/etc/letsencrypt/ # SSL-Zertifikate
So kannst du im Notfall ein komplettes System klonen oder migrieren.
6. Wiederherstellung (Restore)
Wenn etwas schiefgeht oder du SOGo auf einen neuen Server umziehst, lässt sich das Backup einfach wiederherstellen:
Vorbereitung
SOGo-Dienst stoppen:
sudo systemctl stop sogoAlte Datenbank löschen (optional):
sudo -u postgres dropdb sogoNeue Datenbank anlegen:
sudo -u postgres createdb sogo
Backup einspielen
sudo -u postgres pg_restore -d sogo /backup/sogo_2025-10-25.dump
Danach:
sudo systemctl start sogo
Wenn alles korrekt läuft, sollte SOGo wieder vollständig funktionsfähig sein.
7. Restore-Test – die oft vergessene Pflicht
Ein Backup ist nur so gut wie seine Wiederherstellbarkeit. Viele Admins sichern brav – testen aber nie. Daher gilt: Mindestens einmal im Quartal einen Restore-Test durchführen!
Erstelle dazu eine Testinstanz (z. B. in einer VM oder Sandbox) und spiele das Backup dort ein. So erkennst du frühzeitig Probleme mit Versionen, Passwörtern oder fehlenden Berechtigungen.
8. Erweiterte Backupstrategien
Für größere Umgebungen lohnt sich eine abgestufte Strategie:
| Backup-Typ | Intervall | Zweck |
|---|---|---|
| Vollbackup | täglich | Komplettsicherung der Datenbank |
| Differenzielles Backup | alle 6 Stunden | Änderungen seit letztem Vollbackup |
| Konfigurationsbackup | wöchentlich | /etc/sogo, /etc/postfix, etc. |
| Offsite-Backup | täglich | Speicherung außerhalb des Rechenzentrums |
Mit Tools wie pgBackRest oder Barman lassen sich diese Strategien automatisieren und versionieren – ideal für professionelle Infrastrukturen.
9. Sicherheit ist kein Zufall
Ein funktionierendes Backup ist die Lebensversicherung jeder IT-Infrastruktur – besonders bei sensiblen Kommunikationssystemen wie SOGo.
Mit den richtigen PostgreSQL-Backupskripten, Cronjobs und Restore-Routinen stellst du sicher, dass kein Update, Servercrash oder Benutzerfehler deine Arbeit zunichtemacht.
Merke: Ein gutes Backup ist nicht das, was du erstellst – sondern das, was du erfolgreich wiederherstellen kannst.