How2-Tipps

Backup und Restore von SOGo-Datenbanken – so bleibt alles sicher

Sichere SOGo-Datenbanken richtig: PostgreSQL-Backup, Cronjobs und Restore-Anleitung – für maximale Datensicherheit und zuverlässige Wiederherstellung.

1 min Lesezeit
Backup und Restore von SOGo-Datenbanken – so bleibt alles sicher

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

``bash sudo -u postgres pg_dump -Fc sogo > /backup/sogo_$(date +%F).dump ``

  • -Fc steht für das komprimierte Custom-Format, ideal für Wiederherstellungen.
  • sogo ist der Name der Datenbank.
  • Das Backup landet im Verzeichnis /backup mit 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:

``bash sudo crontab -e ``

Dann hinzufügen:

``bash 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:

``bash 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

``bash 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

  1. SOGo-Dienst stoppen:

``bash sudo systemctl stop sogo ``

  1. Alte Datenbank löschen (optional):

``bash sudo -u postgres dropdb sogo ``

  1. Neue Datenbank anlegen:

``bash sudo -u postgres createdb sogo ``

Backup einspielen

``bash sudo -u postgres pg_restore -d sogo /backup/sogo_2025-10-25.dump ``

Danach:

``bash 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.