diff options
Diffstat (limited to 'network/rspamd/rc.rspamd.new')
-rw-r--r-- | network/rspamd/rc.rspamd.new | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/network/rspamd/rc.rspamd.new b/network/rspamd/rc.rspamd.new new file mode 100644 index 0000000000000..8c3e78f9084ce --- /dev/null +++ b/network/rspamd/rc.rspamd.new @@ -0,0 +1,67 @@ +#!/bin/sh +# +# rspamd startup script for Slackware Linux + +NAME=rspamd +DAEMON=/usr/bin/$NAME +RSPAMADM=/usr/bin/rspamadm +PIDFILE=/var/run/rspamd/${NAME}.pid +CONF=/etc/rspamd/rspamd.conf +DAEMON_ARGS="-c $CONF -u $NAME -g $NAME" + +rspamd_start() { + if [ ! -r $CONF ]; then + echo "$CONF does not appear to exist. Abort." + exit 1 + fi + + if [ -s $PIDFILE ]; then + echo "rspamd appears to be already running?" + exit 1 + fi + + echo "Starting rspamd ..." + $DAEMON $DAEMON_ARGS +} + +rspamd_stop() { + if [ ! -s $PIDFILE ]; then + echo "$PIDFILE does not exist or is empty." + exit 1 + fi + + PID=$(cat $PIDFILE) + echo -n "Stopping rspamd ..." + kill -TERM $(cat $PIDFILE) + rm -f $PIDFILE + echo " done" +} + +rspamd_restart() { + rspamd_configtest || return $? + rspamd_stop + sleep 3 + rspamd_start +} + +rspamd_configtest() { + $RSPAMADM configtest -c $CONF +} + +case "$1" in + start) + rspamd_start + ;; + stop) + rspamd_stop + ;; + restart) + rspamd_restart + ;; + configtest) + rspamd_configtest + ;; + *) + echo "Usage: $0 {start|stop|restart|configtest}" + exit 1 +esac |