78 lines
1.8 KiB
Bash
78 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
|