.
This commit is contained in:
99
haproxy/rc.haproxy
Normal file
99
haproxy/rc.haproxy
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Slackware initialization script for HAProxy.
|
||||
#
|
||||
# This script was made by T3slider.
|
||||
# Slight modifications by Badchay.
|
||||
#
|
||||
|
||||
|
||||
HAPROXY=/usr/sbin/haproxy
|
||||
CONFIG=/etc/haproxy/haproxy.cfg
|
||||
PIDFILE=/run/haproxy.pid
|
||||
|
||||
if [[ ! -f $CONFIG && "$1" == "start" ]]; then
|
||||
echo "No configuration file found. Cannot continue."
|
||||
echo "The script looks for the configuration file placed in $CONFIG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
start() {
|
||||
if [ -r $PIDFILE ]; then
|
||||
echo 'HAProxy is already running!'
|
||||
return
|
||||
else
|
||||
echo "Starting HAProxy..."
|
||||
$HAPROXY -f $CONFIG -D -p $PIDFILE
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ ! -r $PIDFILE ]; then
|
||||
echo 'HAProxy is not running!'
|
||||
return
|
||||
fi
|
||||
echo "Soft-stopping HAProxy..."
|
||||
kill -USR1 $(cat $PIDFILE)
|
||||
# Even with the right permissions the PID file will not be removed...
|
||||
rm -f $PIDFILE
|
||||
}
|
||||
|
||||
force_stop() {
|
||||
if [ ! -r $PIDFILE ]; then
|
||||
echo 'HAProxy is not running!'
|
||||
return
|
||||
fi
|
||||
echo "Hard-stopping HAProxy..."
|
||||
kill $(cat $PIDFILE)
|
||||
# Even with the right permissions the PID file will not be removed...
|
||||
rm -f $PIDFILE
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ ! -r $PIDFILE ]; then
|
||||
echo "HAProxy is not running."
|
||||
return
|
||||
fi
|
||||
PID=$(cat $PIDFILE)
|
||||
if [ -z "$PID" ]; then
|
||||
echo 'PID file is empty! HAProxy does not appear to be running, but there is a stale PID file.'
|
||||
elif kill -0 $PID; then
|
||||
echo "HAProxy is running."
|
||||
else
|
||||
echo "HAProxy is not running, but there is a stale PID file."
|
||||
fi
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
$HAPROXY -c -q -V -f $CONFIG
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
start
|
||||
;;
|
||||
'stop')
|
||||
stop
|
||||
;;
|
||||
'force_stop')
|
||||
force_stop
|
||||
;;
|
||||
'restart')
|
||||
stop
|
||||
start
|
||||
;;
|
||||
'force_restart')
|
||||
force_stop
|
||||
start
|
||||
;;
|
||||
'status')
|
||||
status
|
||||
;;
|
||||
'checkconfig')
|
||||
checkconfig
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|force_stop|restart|force_restart|status|checkconfig}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user