diff options
Diffstat (limited to 'user/rspamd/rspamd.initd')
-rw-r--r-- | user/rspamd/rspamd.initd | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/user/rspamd/rspamd.initd b/user/rspamd/rspamd.initd new file mode 100644 index 000000000..aaa40428b --- /dev/null +++ b/user/rspamd/rspamd.initd @@ -0,0 +1,51 @@ +#!/sbin/openrc-run + +extra_commands="checkconfig" +extra_started_commands="reload reopen" + +description="Rapid spam filtering system" +description_checkconfig="Check configuration" +description_reload="Reload configuration" +description_reopen="Reopen log files" + +# Uppercase variables are here for backward compatibility only. +: ${command_user:="${RSPAMD_USER:-rspamd}:${RSPAMD_GROUP:-rspamd}"} +: ${cfgfile:=${RSPAMD_CONFIG:-/etc/rspamd/rspamd.conf}} +: ${startuplog:=${RSPAMD_STARTUPLOG:-/dev/null}} + +command="/usr/sbin/rspamd" +command_args="--config $cfgfile --no-fork ${command_args:-}" +command_background="yes" +pidfile="/run/rspamd/$RC_SVCNAME.pid" + +required_files="$cfgfile" + +depend() { + need localmount net + before mta + after redis +} + +start_pre() { + checkpath -d -m 755 -o "$command_user" ${pidfile%/*} + checkconfig >/dev/null 2>>"$startuplog" || checkconfig +} + +checkconfig() { + ebegin "Checking $name configuration" + + rspamadm configtest + eend $? +} + +reload() { + ebegin "Reloading $name configuration" + start_pre && start-stop-daemon --signal HUP --pidfile $pidfile + eend $? +} + +reopen() { + ebegin "Reopening $name log files" + start-stop-daemon --signal USR1 --pidfile $pidfile + eend $? +} |