Sometimes, clamd dies during its morning maintenance. I've not found any rhyme or reason to this, however it's a pain for me as I use exim4 + exiscan, and this will stop delivering mail if it can't talk to its virus scanner. Bugger.
My current workaround: A cron script that checks to see if the socket is writeable, and if not it stops clamd, then starts it again.
TESTFILE="/var/run/clamd.ctl"
* * * * root [ -w $TESTFILE? || \
(/etc/init.d/clamav-daemon stop; \ /etc/init.d/clamav-daemon start)
Yeah, I know this isn't the prettiest, but I don't have time to track down why its dying just yet -- DanielLawson
A similar script is available at http://mikecathey.com/code/clamdwatch/ and in the contrib/clamdwatch directory -- NERv
Jun 9 10:21:02 firewall amavis[17934?: (17934-02) Clam Antivirus-clamd FAILED - unknown status: /var/lib/amavis/amavis-msg-id/parts: Can't access the file ERROR
clamav-daemon runs as the 'clamav' user (on Debian/Woody anyway), and when amavis unpacks its email for scanning as the 'amavis' user. Add clamav to the amavis group, and restart the clamav daemon.
You should also verify if you have started clamav with the same user as amavis... It is the "default" change that need to be done at Conectiva Linux.
One page links to ClamAvNotes:
lib/main.php:944: Notice: PageInfo: Cannot find action page
lib/main.php:839: Notice: PageInfo: Unknown action
lib/plugin/WlugLicense.php:99: Warning: Invalid argument supplied for foreach()
lib/plugin/WlugLicense.php:111: Warning: in_array() [<a href='function.in-array'>function.in-array</a>]: Wrong datatype for second argument