#!/bin/sh # Start/stop/restart clamav. # $Id: rc.clamav,v 1.4 2017/08/07 19:00:49 root Exp root $ # Author: Eric Hameleers # --------------------------------------------------------------------------- # Set to '1' if you want milter support: MILTER=0 # Start clamav: clamav_start() { # Remove zero-size db files - they are initial package placeholders: for DBFILE in /usr/share/clamav/main.cvd /usr/share/clamav/daily.cvd /usr/share/clamav/bytecode.cvd /usr/share/clamav/mirrors.dat ]; do if [ ! -s $DBFILE ]; then rm -f $DBFILE fi done if [ -x /usr/sbin/clamd ]; then echo -n "Starting clamd daemon: /usr/sbin/clamd " /usr/sbin/clamd echo "." # Give clamd a chance to create the socket sleep 1 echo -n "Starting freshclam daemon: /usr/bin/freshclam -d -l /var/log/clamav/freshclam.log " /usr/bin/freshclam -d -l /var/log/clamav/freshclam.log echo "." if [ "$MILTER" == "1" ]; then echo -n "Starting clamav-milter daemon: /usr/sbin/clamav-milter -dblo --max-children=2 local:/var/run/clamav/clmilter.sock " /usr/sbin/clamav-milter -dblo --max-children=2 local:/var/run/clamav/clmilter.sock echo "." fi fi } # Stop clamav: clamav_stop() { kill $(cat /var/run/clamav/clamd.pid) #killall freshclam kill $(cat /var/run/clamav/freshclam.pid) [ "$MILTER" == "1" ] && killall clamav-milter } # Restart clamav: clamav_restart() { clamav_stop sleep 1 clamav_start } case "$1" in 'start') clamav_start ;; 'stop') clamav_stop ;; 'restart') clamav_restart ;; *) echo "usage $0 start|stop|restart" esac