You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
1.7 KiB

#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
##
## rc.clamav -- Run-Commands
##
%config
clamav_enable="$openpkg_rc_def"
clamav_log_prolog="true"
clamav_log_epilog="true"
clamav_log_numfiles="10"
clamav_log_minsize="1M"
clamav_log_complevel="9"
%common
clamav_cfgfile="@l_prefix@/etc/clamav/clamav.conf"
clamav_pidfile="@l_prefix@/var/clamav/clamd.pid"
clamav_signal () {
[ -f $clamav_pidfile ] && kill -$1 `cat $clamav_pidfile`
}
%status -u @l_rusr@ -o
clamav_usable="unknown"
clamav_active="no"
rcService clamav enable yes && \
clamav_signal 0 && clamav_active="yes"
echo "clamav_enable=\"$clamav_enable\""
echo "clamav_usable=\"$clamav_usable\""
echo "clamav_active=\"$clamav_active\""
%start -u @l_rusr@
rcService clamav enable yes || exit 0
rcService clamav active yes && exit 0
@l_prefix@/sbin/clamd --config-file=$clamav_cfgfile
%stop -u @l_rusr@
rcService clamav enable yes || exit 0
rcService clamav active no && exit 0
clamav_signal TERM
rm -f $clamav_pidfile 2>/dev/null || true
%restart -u @l_rusr@
rcService clamav enable yes || exit 0
rcService clamav active no && exit 0
rc clamav stop
sleep 2
rc clamav start
%daily -u @l_rusr@
rcService clamav enable yes || exit 0
# update virus database
@l_prefix@/bin/freshclam
# rotate logfiles
shtool rotate -f \
-n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \
-z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
-P "${clamav_log_prolog}" \
-E "${clamav_log_epilog} && rc clamav restart" \
@l_prefix@/var/clamav/clamd.log