2010-05-12 04:54:48 +08:00
|
|
|
#!/bin/sh
|
|
|
|
|
2015-05-20 21:27:22 +08:00
|
|
|
HAPROXY=/usr/sbin/haproxy
|
|
|
|
CONFIG=/etc/haproxy/haproxy.cfg
|
|
|
|
PIDFILE=/var/run/haproxy.pid
|
|
|
|
|
|
|
|
start() {
|
|
|
|
if [ -r $PIDFILE ]; then
|
|
|
|
echo 'HAProxy is already running!'
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
$HAPROXY -f $CONFIG -D -p $PIDFILE
|
|
|
|
}
|
|
|
|
|
|
|
|
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
|
|
|
|
}
|
2010-05-12 04:54:48 +08:00
|
|
|
|
|
|
|
case "$1" in
|
2015-05-20 21:27:22 +08:00
|
|
|
'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
|
|
|
|
;;
|
2010-05-12 04:54:48 +08:00
|
|
|
esac
|