IREDMAIL replication server with 1 hour delay or what ever delay you want.
This is not a HA and it’s not using any ldap replication engine and mysql replication engine.
The methodology is just
backup –> transfer –> restore
The tools needed;
i. rsync
ii. NFS daemon
iii. mysqldump and restore (for mysql)
iv. slapcat (for ldap)
v. crond
Let’s start
ON THE MAIN SERVER
1. First of all sync the data in /var/vmail and /var/www to the backup server using rsync:
rsync -av –delete –stats –progress /var/vmail/ root@destination-host:/var/vmail/
beware of –delete option, this cmd will delete data that is in backup server and not in primary server.
2. Then sync the www folder
rsync -av –delete –stats –progress /var/www/ root@destinan-host:/var/www/
3. Backup the mysql – all database
mysqldump -u root -pPASSWD –all-databases > /mnt/ur-nfs-mount-folder/all-database.sql (Please read my previous article how to setup NFS)
4. Then run the backup script of LDAP provided by iredmail tools in /root/iRedmail/tools/ . Edit the files and change the path of destination backup to the /mnt/ur-nfs-mount-folder
5. Set all cmd to the crond, for example 1 hour
0 */1 * * * /root/rsync.sh
ON THE BACKUP SERVER
1. Run mysql restore
mysql -pPASSWD < /var/nfs/all-database.sql
2. Create shell script to restore ldap as follow
#!/bin/bash
touch /tmp/ldap-restore && exit
rm -rf /var/lib/ldap/domain.com/__*
rm -rf /var/lib/ldap/domain.com/*.bdb
rm -rf /var/lib/ldap/domain.com/alock
rm -rf /var/lib/ldap/domain.com/log.*
/etc/init.d/ldap stop
/usr/sbin/slapadd -f /etc/openldap/slapd.conf -l /var/nfs/backup-ldap.ldif
chown -R ldap.ldap /var/lib/ldap/domain.com/
/etc/init.d/ldap start
3. Run the script on crond, maybe you might set every 1hour or some minutes for giving some time for primary server to generate the backup and rsync.
Recent Comments