#!/bin/sh # rspamd="/usr/bin/rspamd" rspamadm="/usr/bin/rspamadm" prog=$(basename $rspamd) RSPAMD_CONF_FILE="/etc/rspamd/rspamd.conf" RSPAMD_USER="rspamd" RSPAMD_GROUP="rspamd" pidfile=/var/run/rspamd/rspamd.pid start() { [ -x $rspamd ] || exit 5 [ -f $RSPAMD_CONF_FILE ] || exit 6 rm -f $pidfile echo -n $"Starting $prog: " $rspamd -c $RSPAMD_CONF_FILE -u $RSPAMD_USER -g $RSPAMD_GROUP retval=$? if [ $retval -eq 0 ]; then echo "started" else echo "failed" fi return $retval } stop() { echo -n $"Stopping $prog: " if [ -f $pidfile ]; then kill -TERM $(cat $pidfile) retval=$? sleep 1 if [ $retval -eq 0 ]; then rm -f $pidfile echo "stopped" else echo "failed" fi else echo "not running" fi return $retval } restart() { configtest || return $? stop sleep 3 start } reload() { configtest || return $? echo -n $"Reloading $prog: " if [ -f $pidfile ]; then kill -HUP $(cat $pidfile) retval=$? echo "ok" else echo "not running" fi } configtest() { $rspamadm configtest -c $RSPAMD_CONF_FILE } case "$1" in start|stop|restart|configtest|reload) $1 ;; status) echo -n $"Status $prog: " if [ -f $pidfile ]; then echo "running" else echo "not running" fi ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|configtest}" exit 2 esac