RSS

Zimbra Mail Backup Script

08 Jul

DATE=`date +%d%m%Y`
ZLOG=/opt/zimbra/backup/log
MailTo=To@server.lan
MailToCC=CC@server.lan
MailFrom=From@server.lan
mailer=/opt/zimbra/common/sbin/sendmail
Subject=”Zimbra – Mail Backup Report”
#
ZHOME=/opt/zimbra
ZBACKUP=$ZHOME/backup/mailbox
ZCONFD=$ZHOME/conf
ZDUMPDIR=$ZBACKUP/$DATE
ZMBOX=/opt/zimbra/bin/zmmailbox

#echo “Subject: Zimbra – Mail Backup Report” | $mailer -f $MailFrom -t $MailTo < $ZLOG/$DATE.log
echo “Subject: Zimbra – Mail Backup $DATE Started..” | $mailer -f $MailFrom -t $MailTo

echo “*******************************************************” >> $ZLOG/$DATE.log
echo “* Zimbra – Backup all email accounts Report *” >> $ZLOG/$DATE.log
echo “*******************************************************” >> $ZLOG/$DATE.log
echo”” >> $ZLOG/$DATE.log
#
find /opt/zimbra/backup/mailbox/ -mtime +3 -exec rm -rf {} \;
find /opt/zimbra/backup/log/ -mtime +3 -exec rm -rf {} \;
#
echo Start time of the backup = $(date +%T) >> $ZLOG/$DATE.log
before=”$(date +%s)”
#
echo”” >> $ZLOG/$DATE.log
echo “Generating backup files …” >> $ZLOG/$DATE.log

#echo “Sending files to backup all email accounts for Machine2 (10.0.0.X – CrossOver Cable on eth1 \o/ ) …”
#rsync -avH $ZBACKUP root@ipaddress:/opt/zimbra_backup_accounts

echo”” >> $ZLOG/$DATE.log

if [ ! -d $ZDUMPDIR ]; then
mkdir -p $ZDUMPDIR
fi
echo ” Running zmprov … ” >> $ZLOG/$DATE.log
for mbox in `/opt/zimbra/bin/zmprov -l gaa`
do

echo ” Generating files from backup $mbox …” >> $ZLOG/$DATE.log
$ZMBOX -z -m $mbox getRestURL “//?fmt=zip” > $ZDUMPDIR/$mbox.zip
done

before2=”$(date +%s)”
#
echo”” >> $ZLOG/$DATE.log
echo “———————————————————–” >> $ZLOG/$DATE.log
echo The process lasted = $(date +%T) >> $ZLOG/$DATE.log
# Calculating time
after=”$(date +%s)”
elapsed=”$(expr $after – $before)”
hours=$(($elapsed / 3600))
elapsed=$(($elapsed – $hours * 3600))
minutes=$(($elapsed / 60))
seconds=$(($elapsed – $minutes * 60))
echo “———————————————————–” >> $ZLOG/$DATE.log
echo The complete backup lasted : “$hours hours $minutes minutes $seconds seconds” >> $ZLOG/$DATE.log
echo “===========================================================” >> $ZLOG/$DATE.log
#
echo “Subject: Zimbra – Mail Backup $DATE Completed Successfully… ” | $mailer -f $MailFrom -t $MailTo
#
echo “Subject: Zimbra – Mail Backup Report” | $mailer -f $MailFrom -t $MailTo < $ZLOG/$DATE.log
#
echo “Subject: Zimbra – Mail Backup Report” | $mailer -f $MailFrom -t $MailToCC < $ZLOG/$DATE.log

 
Leave a comment

Posted by on July 8, 2018 in Linux, Zimbra

 

Leave a comment