158 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			158 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| #
 | |
| # maxscale:   The SkySQL MaxScale database proxy
 | |
| #
 | |
| # description:  MaxScale provides database specific proxy functionality
 | |
| #
 | |
| # processname: maxscale
 | |
| #
 | |
| ### BEGIN INIT INFO
 | |
| # Provides: maxscale
 | |
| # Required-Start: $syslog $local_fs
 | |
| # Required-Stop: $syslog $local_fs
 | |
| # Default-Start: 2 3 4 5
 | |
| # Default-Stop: 0 1 6
 | |
| # Short-Description: The maxscale database proxy
 | |
| # Description: MaxScale is a database proxy server that can be used to front end
 | |
| # database clusters offering different routing, filtering and protocol choices
 | |
| ### END INIT INFO
 | |
| 
 | |
| #############################################
 | |
| # MaxScale HOME, PIDFILE, LIB
 | |
| #############################################
 | |
| 
 | |
| export MAXSCALE_HOME=/usr/local/skysql/maxscale
 | |
| export MAXSCALE_PIDFILE=$MAXSCALE_HOME/log/maxscale.pid
 | |
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MAXSCALE_HOME/lib
 | |
| 
 | |
| ###############################
 | |
| # LSB Exit codes (non-Status)
 | |
| ###############################
 | |
| _RETVAL_GENERIC=1
 | |
| _RETVAL_NOT_INSTALLED=5
 | |
| _RETVAL_NOT_RUNNING=7
 | |
| 
 | |
| ###############################
 | |
| # LSB Status action Exit codes
 | |
| ###############################
 | |
| _RETVAL_STATUS_OK=0
 | |
| _RETVAL_STATUS_NOT_RUNNING=3
 | |
| 
 | |
| # Sanity checks.
 | |
| [ -x $MAXSCALE_HOME/bin/maxscale ] || exit $_RETVAL_NOT_INSTALLED
 | |
| 
 | |
| # Source function library.
 | |
| . /etc/rc.d/init.d/functions
 | |
| 
 | |
| # we can rearrange this easily
 | |
| processname=maxscale
 | |
| servicename=maxscale
 | |
| 
 | |
| RETVAL=0
 | |
| 
 | |
| start() {
 | |
|     echo -n $"Starting MaxScale: "
 | |
|     my_check=`status -p $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale`
 | |
|     CHECK_RET=$?
 | |
|     [ $CHECK_RET -eq 0 ] && echo -n " found $my_check" && success && CHECK_RET=0
 | |
| 
 | |
|     daemon --pidfile $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale >& /dev/null
 | |
| 
 | |
|     RETVAL=$?
 | |
|     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$servicename
 | |
| 
 | |
|     if [ $CHECK_RET -ne 0 ]; then
 | |
| 	sleep 2
 | |
|         my_check=`status -p $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale`
 | |
|         CHECK_RET=$?
 | |
|         [ $CHECK_RET -eq 0 ] && echo -n $my_check && success || failure
 | |
|     fi
 | |
| 
 | |
|     # Return rigth code
 | |
|     if [ $RETVAL -ne 0 ]; then
 | |
|        failure
 | |
|        RETVAL=$_RETVAL_NOT_RUNNING
 | |
|     fi
 | |
| 
 | |
|     echo
 | |
| 
 | |
|     return $RETVAL
 | |
| }
 | |
| 
 | |
| stop() {
 | |
|     echo -n $"Stopping MaxScale: "
 | |
|     killproc -p $MAXSCALE_PIDFILE -TERM
 | |
| 
 | |
|     RETVAL=$?
 | |
| 
 | |
|     echo
 | |
| 
 | |
|     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$servicename
 | |
| 
 | |
|     # Return rigth code
 | |
|     if [ $RETVAL -ne 0 ]; then
 | |
|        RETVAL=$_RETVAL_NOT_RUNNING
 | |
|     fi
 | |
| 
 | |
|     return $RETVAL
 | |
| }
 | |
| 
 | |
| reload() {
 | |
|     echo -n $"Reloading MaxScale: "
 | |
| 
 | |
|     killproc -p $MAXSCALE_PIDFILE $MAXSCALE_HOME/bin/maxscale -HUP
 | |
|     RETVAL=$?
 | |
|     echo
 | |
| }
 | |
| 
 | |
| # See how we were called.
 | |
| case "$1" in
 | |
|     start)
 | |
| 	start
 | |
|         ;;
 | |
|     stop)
 | |
|         stop
 | |
|         ;;
 | |
|     status)
 | |
| 	# return 0 on success
 | |
| 	# return 3 on any error
 | |
| 
 | |
|     	echo -n $"Checking MaxScale status: "
 | |
|         status -p $MAXSCALE_PIDFILE 'MaxScale'
 | |
|         RETVAL=$?
 | |
| 
 | |
| 	if [ $RETVAL -ne 0 ]; then
 | |
| 		echo -ne "\033[1A"
 | |
| 		[ $RETVAL -eq 1 ] && warning || failure
 | |
| 		echo -ne "\033[1B"
 | |
| 
 | |
| 		RETVAL=$_RETVAL_STATUS_NOT_RUNNING
 | |
| 	else
 | |
| 		echo -ne "\033[1A"
 | |
| 		success
 | |
| 		echo -ne "\033[1B"
 | |
| 		RETVAL=$_RETVAL_STATUS_OK
 | |
| 	fi
 | |
| 
 | |
| 	exit $RETVAL
 | |
|         ;;
 | |
|     restart)
 | |
|         stop
 | |
|         start
 | |
|         ;;
 | |
|     condrestart)
 | |
|         if [ -f /var/lock/subsys/$servicename ]; then
 | |
|             stop
 | |
|             start
 | |
|         fi
 | |
|         ;;
 | |
|     reload)
 | |
| 	reload
 | |
|         RETVAL=$?
 | |
|         ;;
 | |
|     *)
 | |
|         echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
 | |
|         ;;
 | |
| esac
 | |
| exit $RETVAL
 | 
