Postby techsharp » Thu Dec 27, 2007 5:01 pm
Here is the clamav script I use to start and stop clamd and freshclam. You may have to edit it some to match your environment.
Once in place add it to chkconfig and then you should be all set. Let me know how it works out for you.
#!/bin/bash
#
# clamav This shell script takes care of starting and stopping
# clamav.
#
# chkconfig: - 61 39
# description: Clamav is a is a GPL anti-virus toolkit for UNIX.
# processname: clamav
# config: /etc/clamd.conf
# pidfile: /var/run/clamav/clamd.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source clamav configureation.
if [ -f /etc/sysconfig/clamav ] ; then
. /etc/sysconfig/clamav
fi
[ -f /usr/sbin/clamd ] || exit 0
RETVAL=0
prog="clamd"
start() {
# Start daemons.
echo -n $"Starting $prog: "
daemon /usr/sbin/clamd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamd
if [ "$CLAMAV_MILTER" == "yes" ] ; then
echo -n $"Starting clamav-milter: "
daemon clamav-milter --config-file=/etc/clamd.conf \
--max-children=10 \
--force-scan \
--quiet \
--dont-log-clean \
--noreject \
-obl local:/var/run/clamav/clmilter.socket
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/clamav-milter
fi
echo -n $"Starting freshclam: "
touch /var/run/clamav/freshclam.pid
chown clamav:clamav /var/run/clamav/freshclam.pid
if [ -x /usr/bin/selinuxenabled ] && /usr/bin/selinuxenabled; then
/sbin/restorecon /var/run/clamav/freshclam.pid
fi
daemon --check freshclam \
/usr/bin/freshclam -d -c 24 \
--quiet \
-p /var/run/clamav/freshclam.pid \
--daemon-notify=/etc/clamd.conf
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/freshclam
return $RETVAL
}
stop() {
# Stop daemons.
echo -n $"Shutting down $prog: "
killproc clamd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamd
if test -f /var/lock/subsys/clamav-milter; then
echo -n $"Shutting down clamav-milter: "
killproc clamav-milter
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/clamav-milter
fi
if test -f /var/run/clamav/freshclam.pid; then
echo -n $"Shutting down freshclam: "
killproc freshclam
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/run/clamav/freshclam.pid
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/freshclam
fi
return $RETVAL
}
reload() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
RETVAL=$?
;;
restart)
stop
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/clamd ]; then
stop
start
RETVAL=$?
fi
;;
status)
status clamd
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac
exit $RETVAL