Last active
August 29, 2015 14:05
-
-
Save lokielse/983b615d3c65ff644081 to your computer and use it in GitHub Desktop.
HAProxy boot start init file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### BEGIN INIT INFO | |
# Provides: lsws | |
# Required-Start: $local_fs [COLOR="Red"]$remote_fs $network[/COLOR] | |
# Required-Stop: $local_fs [COLOR="Red"]$remote_fs $network[/COLOR] | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: lshttpd | |
# Description: LiteSpeed Web Server is a World Wide Web server. | |
### END INIT INFO | |
PATH=/sbin:/usr/sbin:/bin:/usr/bin | |
PIDFILE=/var/run/haproxy.pid | |
CONFIG=/usr/local/haproxy/conf/haproxy.cfg | |
HAPROXY=/usr/local/sbin/haproxy | |
EXTRAOPTS= | |
ENABLED=0 | |
test -x $HAPROXY || exit 0 | |
test -f "$CONFIG" || exit 0 | |
if [ -e /etc/default/haproxy ]; then | |
. /etc/default/haproxy | |
fi | |
test "$ENABLED" != "0" || exit 0 | |
[ -f /etc/default/rcS ] && . /etc/default/rcS | |
. /lib/lsb/init-functions | |
haproxy_start() | |
{ | |
start-stop-daemon --start --pidfile "$PIDFILE" \ | |
--exec $HAPROXY -- -f "$CONFIG" -D -p "$PIDFILE" \ | |
$EXTRAOPTS || return 2 | |
return 0 | |
} | |
haproxy_stop() | |
{ | |
if [ ! -f $PIDFILE ] ; then | |
# This is a success according to LSB | |
return 0 | |
fi | |
for pid in $(cat $PIDFILE) ; do | |
/bin/kill $pid || return 4 | |
done | |
rm -f $PIDFILE | |
return 0 | |
} | |
haproxy_reload() | |
{ | |
$HAPROXY -f "$CONFIG" -p $PIDFILE -D $EXTRAOPTS -sf $(cat $PIDFILE) \ | |
|| return 2 | |
return 0 | |
} | |
haproxy_status() | |
{ | |
if [ ! -f $PIDFILE ] ; then | |
# program not running | |
return 3 | |
fi | |
for pid in $(cat $PIDFILE) ; do | |
if ! ps --no-headers p "$pid" | grep haproxy > /dev/null ; then | |
# program running, bogus pidfile | |
return 1 | |
fi | |
done | |
return 0 | |
} | |
case "$1" in | |
start) | |
log_daemon_msg "Starting haproxy" "haproxy" | |
haproxy_start | |
ret=$? | |
case "$ret" in | |
0) | |
log_end_msg 0 | |
;; | |
1) | |
log_end_msg 1 | |
echo "pid file '$PIDFILE' found, haproxy not started." | |
;; | |
2) | |
log_end_msg 1 | |
;; | |
esac | |
exit $ret | |
;; | |
stop) | |
log_daemon_msg "Stopping haproxy" "haproxy" | |
haproxy_stop | |
ret=$? | |
case "$ret" in | |
0|1) | |
log_end_msg 0 | |
;; | |
2) | |
log_end_msg 1 | |
;; | |
esac | |
exit $ret | |
;; | |
reload|force-reload) | |
log_daemon_msg "Reloading haproxy" "haproxy" | |
haproxy_reload | |
case "$?" in | |
0|1) | |
log_end_msg 0 | |
;; | |
2) | |
log_end_msg 1 | |
;; | |
esac | |
;; | |
restart) | |
log_daemon_msg "Restarting haproxy" "haproxy" | |
haproxy_stop | |
haproxy_start | |
case "$?" in | |
0) | |
log_end_msg 0 | |
;; | |
1) | |
log_end_msg 1 | |
;; | |
2) | |
log_end_msg 1 | |
;; | |
esac | |
;; | |
status) | |
haproxy_status | |
ret=$? | |
case "$ret" in | |
0) | |
echo "haproxy is running." | |
;; | |
1) | |
echo "haproxy dead, but $PIDFILE exists." | |
;; | |
*) | |
echo "haproxy not running." | |
;; | |
esac | |
exit $ret | |
;; | |
*) | |
echo "Usage: /etc/init.d/haproxy {start|stop|reload|restart|status}" | |
exit 2 | |
;; | |
esac | |
: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment