diff options
Diffstat (limited to 'extra/clamav/rc.d')
-rw-r--r-- | extra/clamav/rc.d | 117 |
1 files changed, 56 insertions, 61 deletions
diff --git a/extra/clamav/rc.d b/extra/clamav/rc.d index 8e9c6afa9..04e959903 100644 --- a/extra/clamav/rc.d +++ b/extra/clamav/rc.d @@ -3,70 +3,65 @@ . /etc/rc.conf . /etc/rc.d/functions -# source application-specific settings -[ -f /etc/conf.d/clamav ] && . /etc/conf.d/clamav +[[ -f /etc/conf.d/clamav ]] && . /etc/conf.d/clamav +[[ -d /var/run/clamav ]] || install -d -o clamav -g root /var/run/clamav -PID_FC=`pidof -o %PPID /usr/bin/freshclam` -PID_CD=`pidof -o %PPID /usr/sbin/clamd` +PID_FC=$(pidof -o %PPID /usr/bin/freshclam) +PID_CD=$(pidof -o %PPID /usr/sbin/clamd) case "$1" in - start) - # if clamd isn't started first, notifyclamd fails at times - if [ "$START_CLAMD" == "yes" ]; then - stat_busy "Starting ClamD" - [ -z "$PID_CD" ] && /usr/sbin/clamd - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon clamav - stat_done - fi - fi + start) + if [[ $START_CLAMD = yes ]]; then + stat_busy "Starting ClamD" + [[ -z $PID_CD ]] && /usr/sbin/clamd + if [[ $? -gt 0 ]]; then + stat_fail + else + add_daemon clamav + stat_done + fi + fi + sleep 1 + if [[ $START_FRESHCLAM = yes ]]; then + stat_busy "Starting FreshClam" + [[ -z $PID_FC ]] && /usr/bin/freshclam -p /var/run/clamav/freshclam.pid -d $FRESHCLAM_OPTS + if [[ $? -gt 0 ]]; then + stat_fail + else + add_daemon clamav + stat_done + fi + fi + ;; + stop) + if [[ $START_CLAMD = yes ]]; then + stat_busy "Stopping ClamD" + [[ -n $PID_CD ]] && kill $PID_CD &> /dev/null + if [[ $? -gt 0 ]]; then + stat_fail + else + rm_daemon clamav + stat_done + fi + fi - # give clamd enough time to start - sleep 1 - - if [ "$START_FRESHCLAM" == "yes" ]; then - stat_busy "Starting FreshClam" - [ -z "$PID_FC" ] && /usr/bin/freshclam -p /var/run/clamav/freshclam.pid -d $FRESHCLAM_OPTS - if [ $? -gt 0 ]; then - stat_fail - else - add_daemon clamav - stat_done - fi - fi - ;; - stop) - if [ "$START_CLAMD" == "yes" ]; then - stat_busy "Stopping ClamD" - [ -n "$PID_CD" ] && kill $PID_CD &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon clamav - stat_done - fi - fi - - if [ "$START_FRESHCLAM" == "yes" ]; then - stat_busy "Stopping FreshClam" - [ -n "$PID_FC" ] && kill $PID_FC &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon clamav - stat_done - fi - fi - ;; - restart) - $0 stop - # will not start if not fully stopped, so sleep - sleep 2 - $0 start - ;; - *) - echo "usage: $0 {start|stop|restart}" + if [[ $START_FRESHCLAM = yes ]]; then + stat_busy "Stopping FreshClam" + [[ -n $PID_FC ]] && kill $PID_FC &> /dev/null + if [[ $? -gt 0 ]]; then + stat_fail + else + rm_daemon clamav + stat_done + fi + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" esac exit 0 |