Mailcow Backup

Im Zeitraum vom 09.04.2024 - 28.03.2025 ist der Support eingeschränkt. In dem genannten Zeitraum, befinde ich mich auf einer Weiterbildung.

Einführung in Server-Backups

Ein Server-Backup ist eine Kopie aller Daten, die auf einem Server gespeichert sind. Es dient dazu, Daten zu schützen und zu sichern, falls ein Server ausfallen oder beschädigt werden sollte.

Warum Server-Backups wichtig sind

Server-Backups sind von entscheidender Bedeutung, da sie verhindern, dass wichtige Daten verloren gehen, wenn ein Server ausfällt oder beschädigt wird. Überdies können sie auch dazu beitragen, dass das System nach einem Ausfall schnell wiederhergestellt wird.

Weiterführende Informationen zum Thema Backups

Arten von Server-Backups

Es gibt drei Hauptarten von Server-Backups: vollständige Backups, inkrementelle Backups und differentielle Backups.

Vollständiges Backup

Ein vollständiges Backup beinhaltet eine Kopie aller Daten auf dem Server. Es wird normalerweise einmal pro Woche oder Monat durchgeführt.

Inkrementelles Backup

Ein inkrementelles Backup beinhaltet nur die Daten, die seit dem letzten Backup geändert oder hinzugefügt wurden. Es wird häufiger als ein vollständiges Backup durchgeführt, normalerweise täglich oder wöchentlich.

Differentielles Backup

Ein differentielles Backup beinhaltet die Daten, die seit dem letzten vollständigen Backup geändert oder hinzugefügt wurden. Es wird häufiger als ein vollständiges Backup durchgeführt, normalerweise täglich oder wöchentlich.

Wie Server-Backups durchgeführt werden

Es gibt zwei Hauptmethoden für die Durchführung von Server-Backups: manuelle Server-Backups und automatisierte Server-Backups.

Manuelle Server-Backups

Bei manuellen Server-Backups werden die Daten manuell auf ein externes Speichermedium kopiert, wie eine externe Festplatte oder ein Netzwerkspeichergerät. Diese Methode ist einfach, aber zeitaufwändig und anfälliger für menschliche Fehler.

Automatisierte Server-Backups

Automatisierte Server-Backups werden mithilfe von Backup-Software durchgeführt. Die Software kann ein vollständiges, inkrementelles oder differentielles Backup automatisch planen und ausführen, wodurch Zeit und mögliche menschliche Fehler minimiert werden.

Empfehlungen für die Wahl des richtigen Server-Backups

Wenn Sie ein Server-Backup auswählen, sollten Sie die folgenden Faktoren berücksichtigen:

  • Größe und Komplexität Ihrer Daten
  • Häufigkeit der Änderungen an Ihren Daten
  • Verfügbarkeit Ihrer Daten (z. B. müssen sie jederzeit zugänglich sein?)
  • Kosten für das Backup (einschließlich Hardware- und Softwarekosten)

Fazit

Ein Server-Backup ist ein wichtiger Teil des Schutzes Ihrer Daten und Ihres Systems. Es gibt verschiedene Arten von Server-Backups, einschließlich vollständiger, inkrementeller und differentieller Backups, die je nach Größe und Komplexität Ihrer Daten ausgewählt werden können. Stellen Sie sicher, dass Sie die richtige Backup-Lösung für Ihre Bedürfnisse wählen, indem Sie Faktoren wie Größe, Häufigkeit und Verfügbarkeit Ihrer Daten berücksichtigen.

Mailcow Backup via Script und Cronjob

Das mitgelieferte Backup-Script von Mailcow bietet uns alles, was für eine Sicherung notwendig ist. Dieses Script liegt in folgendem Verzeichnispfad:

  • /opt/mailcow-dockerized/helper-scripts/

Das Script sollte nicht an eine andere Stelle des Systems kopiert werden, da es ansonsten zu Fehlerhaften Backups führen kann.

Um eine Sicherung zu initiieren, geben Sie „backup“ als ersten Parameter und eine oder mehrere zusichernde Komponenten als nächsten Parameter an. Sie können auch „all“ als zweiten Parameterverwenden, um alle Komponenten zu sichern. Fügen Sie --delete-days n hinzu, um Backups zu löschen, die älter als n Tage sind.

Da jetzt die Syntax bekannt ist, erstellen wir hierfür einen Cronjob, welcher uns automatisiert in ein Zielverzeichnis das Backup (ich nutze jetzt all als Parameter, da ich ein Vollbackup erzeugen möchte.) erstellt. Damit das Ganze auch funktioniert, erstelle ich im Vorfeld unter /home ein Verzeichnis mit dem Namen mailcow-backup.

Bedenkt bitte dabei, dies soll nur als Beispiel dienen. Ein Backup sollte nie auf demselben Geräte abgelegt und gespeichert werden! Hier empfehle ich einen externen Storage zu verwenden, wie der Hetzner Storage.

So sieht das Script aus, wenn es seine Arbeit verrichtet:

Externer Inhalt youtu.be
Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

Öffnen Sie in Ihrem Terminal crontab -e und fügen Sie eine angepasste Form dieses Befehls hinzu:

Code: Cronjob
5 4 * * * cd /opt/mailcow-dockerized/; MAILCOW_BACKUP_LOCATION=/mnt/mailcow_backups /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup mysql crypt redis --delete-days 3

Mir selbst sind E-Mails essenziell wichtig, daher lasse ich diese jede Minute sichern, sowie für vierzehn Tage aufbewahren, bevor diese gelöscht werden. Natürlich können Sie die Zeiten anpassen. Unter folgendem Link finden Sie eine Hilfe:

Crontab.guru - The cron schedule expression editor

Sollten Sie weitere Möglichkeiten suchen, um Ihr Backup anzulegen, können Sie auch die offizielle Dokumentation von Mailcow zurate ziehen.

Über den Autor

Ich bin IT-Spezialist im Fachbereich der IT-Administratoren. Neben Beruf und Familie, erstelle ich als, Teil meines Hobbys, gerne Tutorials, sowie WoltLab Stile. Aktuell befinde ich mich auf meinem Informationstechnikermeister.

Foxly Team

Kommentare