diff options
Diffstat (limited to 'testing/haproxy/haproxy.initd')
-rw-r--r-- | testing/haproxy/haproxy.initd | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/testing/haproxy/haproxy.initd b/testing/haproxy/haproxy.initd new file mode 100644 index 000000000..fb1d70ed8 --- /dev/null +++ b/testing/haproxy/haproxy.initd @@ -0,0 +1,54 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-proxy/haproxy/files/haproxy.initd-r1,v 1.2 2011/12/04 10:32:32 swegener Exp $ + +extra_commands="checkconfig" +extra_started_commands="reload" +command=/usr/sbin/haproxy + +CONFFILE=${HAPROXY_CONF:-/etc/haproxy/${SVCNAME}.cfg} +PIDFILE=/var/run/${SVCNAME}.pid + +depend() { + need net + after firewall + use dns logger +} + +checkconfig() { + if [ ! -f "${CONFFILE}" ]; then + eerror "${CONFFILE} does not exist!" + return 1 + fi + + ebegin "Checking ${CONFFILE}" + $command -q -c -f "${CONFFILE}" + eend $? +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --pidfile "${PIDFILE}" --exec $command \ + --start -- -D -p "${PIDFILE}" -f "${CONFFILE}" + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + + if [ "${RC_CMD}" = "restart" ]; then + checkconfig || return 1 + fi + + start-stop-daemon --stop --pidfile "${PIDFILE}" + eend $? +} + +reload() { + ebegin "Reloading ${SVCNAME}" + checkconfig || { eerror "Reloading failed, please fix your ${CONFFILE} first"; return 1; } + $command -D -p "${PIDFILE}" -f "${CONFFILE}" -sf $(cat "${PIDFILE}") + eend $? +} + |