[Mimedefang] Clam/MIMEdefang install procedure
David F. Skoll
dfs at roaringpenguin.com
Mon Nov 17 14:31:17 EST 2003
On Mon, 17 Nov 2003, Bill Curtis wrote:
> Tried that one, but wasn't overly impressed with it's init script.
Here's the init script we use with our commercial CanIt software.
You need to configure your clam file to drop the PID in
/var/spool/MIMEDefang/clamd.pid and use the UNIX-domain
socket /var/spool/MIMEDefang/clamd.sock. It also has to
run as the same user as MIMEDefang.
Regards,
David.
#!/bin/sh
#
# clamd Start and stop the clamd virus scanner.
#
# chkconfig: 2345 87 13
# description: Clamd is a GPL'd virus scanner
##########################################################################
# Copyright 2002-2003, Roaring Penguin Software Inc. All rights reserved.
#
# Current Revision:
#
# $Source: /home/cvsroot/CanIt/clamav/initscript,v $
# $Revision: 1.1 $
# $Author: dfs $
# $Date: 2003/04/14 14:41:45 $
#
##########################################################################
prog='clamd'
# Is the program executable? We search in various places
PROGDIR=''
SPOOLDIR=/var/spool/MIMEDefang
PID=$SPOOLDIR/clamd.pid
SOCKET=$SPOOLDIR/clamd.sock
for d in /usr/local/sbin /usr/sbin /usr/local/bin /usr/bin ; do
if [ -x $d/$prog ] ; then
PROGDIR=$d
break
fi
done
if test "$PROGDIR" = "" ; then
exit 0
fi
start_clamd() {
if test -r $PID ; then
if kill -0 `cat $PID` > /dev/null 2>&1 ; then
echo "clamd (`cat $PID`) seems to be running."
return 1
fi
fi
# Start clamd
printf "%-60s" "Starting $prog: "
rm -f $SOCKET > /dev/null 2>&1
$PROGDIR/$prog
RETVAL=$?
if [ $RETVAL = 0 ] ; then
echo "[ OK ]"
return 0
else
echo "[FAILED]"
return 1
fi
}
status() {
RETVAL=0
# Check status of clamd
if test -f "$PID" ; then
X=`cat $PID`
kill -0 $X > /dev/null 2>&1
if test "$?" = 0 ; then
echo "clamd is running (pid $X)"
else
echo "clamd is stopped (pid $X)"
RETVAL=1
fi
else
echo "clamd is stopped"
RETVAL=1
fi
return $RETVAL
}
stop_clamd() {
# Stop daemon
printf "%-60s" "Shutting down $prog: "
if test -f "$PID" ; then
kill `cat $PID`
RETVAL=$?
else
RETVAL=1
fi
if [ $RETVAL = 0 ] ; then
echo "[ OK ]"
else
echo "[FAILED]"
fi
rm -f $SOCKET > /dev/null 2>&1
rm -f $PID > /dev/null 2>&1
}
# See how we were called.
case "$1" in
start)
start_clamd
;;
stop)
stop_clamd
;;
restart)
stop_clamd
start_clamd
RETVAL=$?
;;
status)
status
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
More information about the MIMEDefang
mailing list