73 lines
1.2 KiB
Plaintext
73 lines
1.2 KiB
Plaintext
|
#!/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
|
||
|
|
||
|
PIDDIR=$(dirname $PIDFILE)
|
||
|
mkdir -p $PIDDIR
|
||
|
chown $NAME:$NAME $PIDDIR
|
||
|
chmod 0750 $PIDDIR
|
||
|
|
||
|
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
|