Mailcow Backup

Im Zeitraum vom 20.02.23 - 11.05.23 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.

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.


Hier können Sie uns unterstützen.

Foxly Gründer