CentOS 7.x Zimbra backup and restore
Full backup and restore of /opt/zimbra
Zimbra keeps all its required files under /opt/zimbra. A full backup of /opt/zimbra (*Esp when zimbra is not running*) contains consistent backup of email server configuration, user preferences, user emails, etc. A Linux utility such as rsnapshot can be used for full backups at required intervals. For full backup using rsnapshot use:
Create folder for taking ldap backup using:
mkdir /opt/zimbra-ldap-backup
chown -R zimbra:zimbra /opt/zimbra-ldap-backup
Create ldap_backup_script on zimbra server at /opt/take_zimbra_ldap_backup.sh with following contents:
#!/bin/bash
rm -f /opt/zimbra-ldap-backup/*
su – zimbra -c “/opt/zimbra/libexec/zmslapcat -c /opt/zimbra-ldap-backup/”
su – zimbra -c “/opt/zimbra/libexec/zmslapcat /opt/zimbra-ldap-backup/”
chmod +x /opt/take_zimbra_ldap_backup.sh
Create folder for taking mysql backup using:
mkdir /opt/zimbra-mysql-backup
chown -R zimbra:zimbra /opt/zimbra-mysql-backup
Create ‘/opt/take_zimbra_mysql_backup.sh’ with following contents:
#!/bin/bash
export backup_dir=”/opt/zimbra-mysql-backup”
su – zimbra -c ‘
source /opt/zimbra/bin/zmshutil;
zmsetvars;
/opt/zimbra/common/bin/mysqldump –user=root –password=$mysql_root_password –socket=$mysql_socket –all-databases –single-transaction –flush-logs;
‘ | gzip > $backup_dir/mysqldump.sql.gz
chmod +x /opt/take_zimbra_mysql_backup.sh
Configure rsnapshot as follows:
backup_script /usr/bin/ssh root@172.26.2.54 ‘/opt/take_zimbra_ldap_backup.sh’ mail.sbarjatiya.com/.ignore1/
backup_script /usr/bin/ssh root@172.26.2.54 ‘/opt/take_zimbra_mysql_backup.sh’ mail.sbarjatiya.com/.ignore2/
backup root@172.26.2.54:/opt/ mail.gbb.co.in/ +rsync_long_args=–exclude=/opt/zimbra/data/ldap/ –sparse