ClamAV - Reset Defs DB
Sometimes ClamAV will download a virus update, and the update will not download correctly, causing an error in its checksum. If this happens, then ClamAV usually goes down, and the system suspends delivery. Downloading fresh definition files can correct this problem.
You'll know the definitions are corrupt if you go to the /var/log/zimbra.log and you see that ClamAV isn't running, postfix/qmgr errors out at 'delivery temporarily suspended', messages like 'malformed database' appear in /opt/zimbra/log/clamd.log, and zmclamdctl status shows clamd as down.
Another symptom is, if you stop & restart Zimbra services (zmcontrol stop and zmcontrol start), antivirus may fail to start with the error (among others):
clamd failed to start
WARNING: Your ClamAV installation is OUTDATED! may also appear, but this is not indicative of a corrupt clamd database. This error simply occurs because ClamAV has a more recent release available than the one that ships with Zimbra. Updating your ClamAV installation to a version not included with a released ZCS product is not recommended and is not supported.
Zimbra updates the ClamAV engine to latest with every release of ZCS. Users who wish to upgrade ClamAV independently from ZCS at their own risk can find directions here: ClamAV - Updating Version Out of cycle updates RFE is Bug 15137
ClamAV Virus definitions update automatically every 2h by default (zimbraVirusDefinitionsUpdateFrequency attribute).
To fix this, you can delete the defs and try again:
su - zimbra mkdir /tmp/clamdb
(in versions prior to 5.0.3):
mv /opt/zimbra/clamav/db/* /tmp/clamdb
(in version 5.0.3 or later):
mv /opt/zimbra/data/clamav/db/* /tmp/clamdb
zmprov ms `zmhostname` +zimbraServiceEnabled antivirus /opt/zimbra/clamav/bin/freshclam --config-file=/opt/zimbra/conf/freshclam.conf zmantivirusctl stop zmantivirusctl start
(zmantivirusctl incorporates zmclamdctl/zmamavidsctl/zmmtaconfigctl though you can just restart ClamAV individually)
Verify by running:
/opt/zimbra/clamav/bin/clamscan -d /opt/zimbra/data/clamav/db/
In releases prior to 5.0.3, this command will be:
/opt/zimbra/clamav/bin/clamscan -d /opt/zimbra/clamav/db/