Bei der „dockerized“ Installation von MailCow kann man ganz einfach einzelne (oder auch alle auf einmal) sichern. Dazu bringt MailCow schon ein eigenes Script mit.
Man findet dies unterhalb seiner MailCow-Docker-Umgebung im Unterordner /helper-scripts/ .
Als Parameter erwartet das Script den Pfad wo die Backup-Dateien abgelegt werden sollen. Möchte man dies in einem Script verarbeiten, so kann man z.B. folgenden Einzeiler verwenden:
BACKUP_LOCATION=/var/backups/ulix/docker/vmail /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup vmail --delete-days 2 >/dev/null 2>&1
Im obigen Beispiel wird in das Verzeichnis /var/backups/ulix/docker/vmail die kompletten Maildaten (aus Dovecot) geschrieben. Sicherungen die älter als 2 Tage (–delete-days 2) sind werden automatisch gelöscht.
Genauso könnte man auch die anderen Container (mysql crypt redis postfix) sichern.
BACKUP_LOCATION=/var/backups/ulix/docker/other /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup mysql crypt redis postfix --delete-days 2 >/dev/null 2>&1
Auf meinen Servern wird z.B. der Backup-Server via SSHFS in das Dateisystem durch das PRE-Script von Duply gemounted und anschließend die Container Backups direkt dort gesichert. (Ebenfalls durch das PRE-Script).
Nach der eigentlichen Duply-Datensicherung wird durch das POST-Script der Sicherungspfad wieder auf dem Dateisystem ausgehängt.