133 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			133 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| #
 | |
| # yanhe-fuint
 | |
| #
 | |
| # chkconfig:   2345 80 20
 | |
| # description: Starts and stops a single elasticsearch instance on this system
 | |
| #
 | |
| 
 | |
| ### BEGIN INIT INFO
 | |
| # Provides: yanhe-fuint
 | |
| # Required-Start: $network $named
 | |
| # Required-Stop: $network $named
 | |
| # Default-Start: 2 3 4 5
 | |
| # Default-Stop: 0 1 6
 | |
| ### END INIT INFO
 | |
| 
 | |
| # Source function library.
 | |
| if [ -f /etc/rc.d/init.d/functions ]; then
 | |
|     . /etc/rc.d/init.d/functions
 | |
| fi
 | |
| 
 | |
| # Sets the default values for yanhe-fuint variables used in this script
 | |
| FUINT_HOME="/opt/yanhe/fuint-server/target/"
 | |
| LOG_DIR="/var/log/"
 | |
| PID_DIR="/var/run/"
 | |
| 
 | |
| prog="fuint-server"
 | |
| pidfile="$PID_DIR/${prog}.pid"
 | |
| 
 | |
| export FUINT_JAVA_OPTS
 | |
| export JAVA_HOME
 | |
| 
 | |
| lockfile=/var/lock/subsys/$prog
 | |
| 
 | |
| checkJava() {
 | |
|     if [ -x "$JAVA_HOME/bin/java" ]; then
 | |
|         JAVA="$JAVA_HOME/bin/java"
 | |
|     else
 | |
|         JAVA=`which java`
 | |
|     fi
 | |
| 
 | |
|     if [ ! -x "$JAVA" ]; then
 | |
|         echo "Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME"
 | |
|         exit 1
 | |
|     fi
 | |
| }
 | |
| 
 | |
| start() {
 | |
|     checkJava
 | |
|     # Ensure that the PID_DIR exists (it is cleaned at OS startup time)
 | |
|     if [ -n "$PID_DIR" ] && [ ! -e "$PID_DIR" ]; then
 | |
|         mkdir -p "$PID_DIR" 
 | |
|     fi
 | |
|     if [ -n "$pidfile" ] && [ ! -e "$pidfile" ]; then
 | |
|         touch "$pidfile"
 | |
|     fi
 | |
| 
 | |
|     cd $FUINT_HOME
 | |
|     echo -n $"Starting $prog: "
 | |
|     # if not running, start it up here, usually something like "daemon $exec"
 | |
|     java -Dfile.encoding=UTF-8 -Xmx2048m -Xms2048m -Xss256k -Xmn1024m -jar fuint-application.jar >> $LOG_DIR/yanhe-fuint.log
 | |
|     echo $! > $pidfile
 | |
|     retval=$?
 | |
|     echo
 | |
|     [ $retval -eq 0 ] && touch $lockfile
 | |
|     return $retval
 | |
| }
 | |
| 
 | |
| stop() {
 | |
|     echo -n $"Stopping $prog: "
 | |
|     # stop it here, often "killproc $prog"
 | |
|     killproc -p $pidfile -d 86400 $prog
 | |
|     retval=$?
 | |
|     echo
 | |
|     [ $retval -eq 0 ] && rm -f $lockfile
 | |
|     return $retval
 | |
| }
 | |
| 
 | |
| restart() {
 | |
|     stop
 | |
|     start
 | |
| }
 | |
| 
 | |
| reload() {
 | |
|     restart
 | |
| }
 | |
| 
 | |
| force_reload() {
 | |
|     restart
 | |
| }
 | |
| 
 | |
| rh_status() {
 | |
|     # run checks to determine if the service is running or use generic status
 | |
|     status -p $pidfile $prog
 | |
| }
 | |
| 
 | |
| rh_status_q() {
 | |
|     rh_status >/dev/null 2>&1
 | |
| }
 | |
| 
 | |
| 
 | |
| case "$1" in
 | |
|     start)
 | |
|         rh_status_q && exit 0
 | |
|         $1
 | |
|         ;;
 | |
|     stop)
 | |
|         rh_status_q || exit 0
 | |
|         $1
 | |
|         ;;
 | |
|     restart)
 | |
|         $1
 | |
|         ;;
 | |
|     reload)
 | |
|         rh_status_q || exit 7
 | |
|         $1
 | |
|         ;;
 | |
|     force-reload)
 | |
|         force_reload
 | |
|         ;;
 | |
|     status)
 | |
|         rh_status
 | |
|         ;;
 | |
|     condrestart|try-restart)
 | |
|         rh_status_q || exit 0
 | |
|         restart
 | |
|         ;;
 | |
|     *)
 | |
|         echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
 | |
|         exit 2
 | |
| esac
 | |
| exit $?
 |