#!/bin/sh # chkconfig: 2345 95 05 # description: Controls an Apache Solr process. # # This script will launch Solr in a mode that will automatically respawn if it # crashes. Output will be sent to $LOG_FILE. A PID file will be created in the # standard location. # # Adapted by Jeff Geerling from http://stackoverflow.com/a/8014720/100134 ### BEGIN INIT INFO # Provides: {{ solr_service_name }} # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Apache Solr search server ### END INIT INFO SOLR_DIR="{{ solr_install_path }}/example" JAVA_OPTIONS="-Dsolr.solr.home={{ solr_home }} -Djetty.host={{ solr_host }} -Djetty.port={{ solr_port }} -Xms{{ solr_xms }} -Xmx{{ solr_xmx }}" START_COMMAND="java -jar $JAVA_OPTIONS start.jar" LOG_FILE="{{ solr_log_file_path }}" start () { echo -n "Starting {{ solr_service_name }}... " daemon --chdir="$SOLR_DIR" --command "$START_COMMAND" --respawn --output=$LOG_FILE --name={{ solr_service_name }} RETVAL=$? if [ $RETVAL = 0 ] then echo "done." else echo "failed. See error code for more information." fi return $RETVAL } stop () { echo -n "Stopping {{ solr_service_name }}... " daemon --stop --name={{ solr_service_name }} RETVAL=$? if [ $RETVAL = 0 ] then echo "done." else echo "failed. See error code for more information." fi return $RETVAL } restart () { echo -n "Restarting solr... " daemon --restart --name={{ solr_service_name }} RETVAL=$? if [ $RETVAL = 0 ] then echo "done." else echo "failed. See error code for more information." fi return $RETVAL } check_status () { # Report on the status of the daemon daemon --running --name={{ solr_service_name }} --verbose return $? } case "$1" in start) start ;; status) check_status ;; stop) stop ;; restart) restart ;; *) echo $"Usage: solr {start|status|stop|restart}" exit 3 ;; esac exit $RETVAL