Logoj0ke.net Open Build Service > Projects > internetx:projects:monitoring > elasticsearch > init.d-elasticsearch
Sign Up | Log In

File init.d-elasticsearch of Package elasticsearch

x
 
1
#! /bin/bash
2
### BEGIN INIT INFO
3
# Provides:          elasticsearch
4
# Required-Start:    $all
5
# Required-Stop:     $all
6
# Default-Start:
7
# Default-Stop:      0 1 6
8
# Short-Description: Starts elasticsearch
9
# chkconfig: - 80 15
10
# Description: Elasticsearch
11
### END INIT INFO
12
13
# Source function library.
14
. /etc/rc.d/init.d/functions
15
16
# Pull in sysconfig settings
17
[ -f /etc/sysconfig/elasticsearch ] && . /etc/sysconfig/elasticsearch
18
19
ES_HOME=/usr/share/java/elasticsearch
20
ES_USER=elasticsearch
21
22
DAEMON=${ES_HOME}/bin/elasticsearch
23
NAME=elasticsearch
24
PID_FILE=${PIDFILE:-/var/run/${NAME}/${NAME}.pid}
25
LOCK_FILE=${LOCKFILE:-/var/lock/subsys/${NAME}}
26
NFILES=${NFILES:-32768}
27
28
ES_PATH_LOG=${ES_PATH_LOG:-/var/log/${NAME}}
29
ES_PATH_DATA=${ES_PATH_DATA:-/var/lib/${NAME}}
30
ES_PATH_WORK=${ES_PATH_WORK:-/tmp/${NAME}}
31
ES_PATH_CONF=${ES_PATH_CONF:-/etc/${NAME}}
32
ES_PATH_PLUGINS=${ES_PATH_PLUGINS:-${ES_HOME}/plugins}
33
ES_CONFIG=${ES_CONFIG:-${ES_PATH_CONF}/elasticsearch.yml}
34
35
DAEMON_OPTS="-p ${PID_FILE} \
36
    -Des.config=${ES_CONFIG} \
37
    -Des.path.conf=${ES_PATH_CONF} \
38
    -Des.path.home=${ES_HOME} \
39
    -Des.path.logs=${ES_PATH_LOG} \
40
    -Des.path.data=${ES_PATH_DATA} \
41
    -Des.path.work=${ES_PATH_WORK} \
42
    -Des.path.plugins=${ES_PATH_PLUGINS}"
43
44
# These environment variables are passed over.
45
ES_MIN_MEM=${ES_MIN_MEM:-256m}
46
ES_MAX_MEM=${ES_MAX_MEM:-1g}
47
ES_INCLUDE=${ES_INCLUDE:-${ES_HOME}/bin/elasticsearch.in.sh}
48
49
start() {
50
    echo -n $"Starting ${NAME}: "
51
    mkdir -p $ES_PATH_WORK
52
    ulimit -n $NFILES
53
    daemon --pidfile=${PID_FILE} --user $ES_USER \
54
        ES_HOME=$ES_HOME \
55
        ES_INCLUDE=$ES_INCLUDE \
56
        ES_MIN_MEM=$ES_MIN_MEM \
57
        ES_MAX_MEM=$ES_MAX_MEM \
58
        $DAEMON $DAEMON_OPTS
59
    RETVAL=$?
60
    echo
61
    [ $RETVAL -eq 0 ] && touch $LOCK_FILE
62
    return $RETVAL
63
}
64
65
stop() {
66
    echo -n $"Stopping ${NAME}: "
67
    killproc -p ${PID_FILE} -d 10 $DAEMON
68
    RETVAL=$?
69
    echo
70
    [ $RETVAL = 0 ] && rm -f ${LOCK_FILE} ${PID_FILE}
71
    return $RETVAL
72
}
73
74
case "$1" in
75
    start)
76
        start
77
        ;;
78
    stop)
79
        stop
80
        ;;
81
    status)
82
        status -p ${PID_FILE} $DAEMON
83
        RETVAL=$?
84
        ;;
85
    restart|force-reload)
86
        stop
87
        start
88
        ;;
89
    *)
90
        N=/etc/init.d/${NAME}
91
        echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
92
        RETVAL=2
93
        ;;
94
esac
95
96
exit $RETVAL
97