#!/sbin/runscript opts="logfix reload" NAME=freshclam DAEMON=/usr/bin/$NAME CONF=/etc/clamav/freshclam.conf depend() { need net after firewall } start() { ebegin "Starting freshclam" start-stop-daemon --start --quiet \ --nicelevel ${FRESHCLAM_NICELEVEL:-0} \ --exec /usr/bin/freshclam -- -d retcode=$? if [ ${retcode} = 1 ]; then eend 0 einfo "Virus databases are already up to date." else eend ${retcode} "Failed to start freshclam" fi } stop() { ebegin "Stopping ${NAME}" start-stop-daemon --stop --quiet --name ${NAME} eend $? } reload() { ebegin "Reloading ${NAME}" if ! service_started "${NAME}" ; then eend 1 "${NAME} is not started" return 1 fi start-stop-daemon --stop --oknodo --signal HUP \ --exec ${DAEMON} --name $NAME eend $? } logfix() { # fix freshclam log permissions # (might be clobbered by logrotate or something) logfile=$(awk '$1 == "UpdateLogFile" { print $2 }' $CONF) local freshclam_user=$(awk '$1 == "DatabaseOwner" { print $2 }' $CONF) if [ -n "${logfile}" -a -n "${clamav_user}" ]; then if [ ! -f "${logfile}" ]; then touch ${logfile} fi chown ${freshclam_user} ${logfile} chmod 640 ${logfile} fi }