slackbuilds_ponce/system/elasticsearch/rc.elasticsearch
Daniel Romero 639b63f88c system/elasticsearch: Updated for version 1.4.2.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
2014-12-17 06:46:40 +07:00

77 lines
1.8 KiB
Bash

#!/bin/sh
#
# /etc/rc.d/rc.elasticsearch -- startup script Slackware Linux for Elasticsearch
#
# Written by Daniel Romero <infoslack@gmail.com>.
#
# This script requires a 'elasticsearch' user/group to exist before running.
# The recommended UID/GID is 280. You can create these like so:
# groupadd -g 280 elasticsearch
# useradd -u 280 -g elasticsearch -s /bin/sh elasticsearch
set -e
# set params
PATH=/bin:/usr/bin:/sbin:/usr/sbin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
NAME=elasticsearch
DEFAULT=/etc/default/$NAME
ES_HOME=/usr/share/$NAME
ES_USER=$NAME
ES_GROUP=$NAME
LOG_DIR=/var/log/$NAME
DATA_DIR=/var/lib/$NAME
WORK_DIR=$DATA_DIR/data
CONF_DIR=/etc/$NAME
CONF_FILE=$CONF_DIR/elasticsearch.yml
PID_FILE=/var/run/$NAME.pid
DAEMON=$ES_HOME/bin/$NAME
MAX_OPEN_FILES=65535
DAEMON_OPTS="-d -p $PID_FILE --default.config=$CONF_FILE --default.path.home=$ES_HOME --default.path.logs=$LOG_DIR --default.path.data=$DATA_DIR --default.path.work=$WORK_DIR --default.path.conf=$CONF_DIR"
# overwrite settings from default file
if [ -f "$DEFAULT" ]; then
. "$DEFAULT"
fi
# Check DAEMON exists
test -x $DAEMON || exit 0
case "$1" in
start)
echo "Starting $NAME"
touch "$PID_FILE" && chown "$ES_USER":"$ES_GROUP" "$PID_FILE"
sudo -u $ES_USER sh -c "$DAEMON $DAEMON_OPTS"
;;
stop)
if [ -f "$PID_FILE" ]; then
`cat $PID_FILE | xargs kill -9`
if [ $? -eq 1 ]; then
echo "$DESC is not running but pid file exists, cleaning up"
elif [ $? -eq 3 ]; then
PID="`cat $PID_FILE`"
echo "Failed to stop $NAME (pid $PID)"
exit 1
fi
rm -f "$PID_FILE"
else
echo "(not running)"
fi
echo "Stop $NAME"
;;
restart)
if [ -f "$PID_FILE" ]; then
$0 stop
sleep 1
fi
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0