]>
Commit | Line | Data |
---|---|---|
a1405fe5 ER |
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} 2>/dev/null" | |
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/rc.d/init.d/${NAME} | |
91 | echo "Usage: $N {start|stop|restart|force-reload}" >&2 | |
92 | RETVAL=2 | |
93 | ;; | |
94 | esac | |
95 | ||
96 | exit $RETVAL |