In a previous post, I detailed some preliminary steps for installing Zimbra 8 GA on CentOS 6.3. Today, I realized that my server status was not accurately reporting the status of various Zimbra services and server metrics. A little digging around showed me that none of the Zimbra 8 cron jobs were running or properly scheduled. Here is how I solved my problem:
First, install cronie:
# yum install cronie
This will provide us with a familiar crontab interface, and it will make it much easier to add the Zimbra 8 cron jobs to our system. Next, we must remove exim so that we don't have another sendmail on our system to pollute our running process name space:
# rpm -e --nodeps exim
Leaving exim installed will conflict with Zimbra's MTA. If the MTA fails to start, you might encounter the following errors:
[zimbra@zimbra ~]$ zmmtactl start
Rewriting configuration files...done.
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/main.cf
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/master.cf
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/master.cf.in
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/tag_as_foreign.re
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/tag_as_originating.re
# rpm -e --nodeps exim
Leaving exim installed will conflict with Zimbra's MTA. If the MTA fails to start, you might encounter the following errors:
[zimbra@zimbra ~]$ zmmtactl start
Rewriting configuration files...done.
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/main.cf
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/master.cf
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/master.cf.in
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/tag_as_foreign.re
postfix/postfix-script: warning: not owned by root: /opt/zimbra/postfix-2.10-20120422.2z/conf/tag_as_originating.re
Run the following commands as root:
# /opt/zimbra/libexec/zmfixperms --verbose --extended
# su - zimbra
# zmmtactl restart
# /opt/zimbra/libexec/zmfixperms --verbose --extended
# su - zimbra
# zmmtactl restart
Next, navigate to the Zimbra 8 crontabs directory:
[root@zimbra crontabs]# pwd
/opt/zimbra/zimbramon/crontabs
From here, we have to concatenate all of our cron files into one easy to digest crontab:
[root@zimbra crontabs]# cat crontab >> crontab.zimbra
[root@zimbra crontabs]# cat crontab.ldap >> crontab.zimbra
[root@zimbra crontabs]# cat crontab.logger >> crontab.zimbra
[root@zimbra crontabs]# cat crontab.mta >> crontab.zimbra
[root@zimbra crontabs]# cat crontab.store >> crontab.zimbra
Finally, we use crontab to load the new crontab.zimbra file:
[root@zimbra crontabs]# crontab crontab.zimbra
A quick 'crontab -l' will show our current crontab, and after a few minutes, Zimbra 8 on CentOS 6.3 should be properly reporting server statistics, performing regular house keeping, and more. There may be a better way to go about this, but I haven't found one as of yet. Before putting this into production, please test thoroughly. If I encounter any other issues, I will either update this post or create an entirely new post (depending on the scope of the problem).