Skip to content
André Peters edited this page Sep 25, 2016 · 3 revisions

It is up to you to choose a useful backup strategy.

Some examples are provided below.

SOGo user data backup

Per-user backup of SOGo related data:

sudo -u sogo -s /bin/bash /usr/share/doc/sogo/sogo-backup.sh

The SOGo backup scripts default backup location is /var/lib/sogo/

Use sudo -u sogo /usr/sbin/sogo-tool to restore data you backed up with sogo-backup.sh.

Maildir backup

mailcow >= 0.14 provides a script "mailcow-backup-mail" found in the folder "misc" of your mailcow download.

This script creates a tar.gz archive of your vmail directory.

# ./misc/mailcow-backup-mail
Creates a tar.gz archive of an rsynced copy of your /var/vmail directory.

Usage: ./mailcow-backup-mail destination-folder

You may use rsync to create a 1:1 copy of the source directory /var/vmail:

rsync -avz --delete /var/vmail /backup/rsync

An alternative way is to use Dovecots dsync to create a synced maildir:

#!/bin/bash
BACKUPDIR="/backup/dsync"
for user in $(doveadm user '*'); do
        mkdir -p ${BACKUPDIR}/${user}/
        chown vmail: ${BACKUPDIR}/${user}/
        dsync -u ${user} backup maildir:${BACKUPDIR}/${user}/
done

MySQL backup

SOGo uses mailcows database, so you only need to backup that single database. Roundcube uses a dedicated database.

mysqldump --host localhost -u mailcow_mysql_user -pmailcow_mysql_password database_name > backup.sql
# Will work for local databases on Debian systems
#mysqldump --defaults-file=/etc/mysql/debian.cnf database_name > backup_mailcow_db.sql > backup.sql