Zimbra MailBox usage Report

Hello, in today’s article I will demonstrate how to create a script that sends reports of mailbox use by domain, this is very useful for SysAdmin.

mkdir -p /etc/zimbra/scripts/
cd /etc/zimbra/scripts/
vi accountusage.sh

#!/bin/bash
output="/tmp/accountusage"
domain=$1
SendTo="dluisi@diegoluisi.eti.br; admin@diegoluisi.eti.br"
rm -f $output
touch $output
echo "Subject: Mailbox Usages for $domain" > $output
server=`/opt/zimbra/bin/zmhostname`
/opt/zimbra/bin/zmprov gqu $server|grep $domain|awk {'print $1" "$3" "$2'}|sort|while read line
do
usage=`echo $line|cut -f2 -d " "`
quota=`echo $line|cut -f3 -d " "`
user=`echo $line|cut -f1 -d " "`
status=`/opt/zimbra/bin/zmprov ga $user | grep  ^zimbraAccountStatus | cut -f2 -d " "`
echo "$user `expr $usage / 1024 / 1024`Mb `expr $quota / 1024 / 1024`Mb ($status account)" >> $output
done
cat $output | /opt/zimbra/postfix/sbin/sendmail $SendTo -s "Mailbox Usages for domain"

./accountusage.sh "diegoluisi.eti.br"