Skip to content

Instantly share code, notes, and snippets.

@catherinetcai
Created February 3, 2017 02:21
Show Gist options
  • Save catherinetcai/fe0aee817d5acb197489a388daa5f15d to your computer and use it in GitHub Desktop.
Save catherinetcai/fe0aee817d5acb197489a388daa5f15d to your computer and use it in GitHub Desktop.
Kibana Init Script
#! /bin/bash
set -e
### BEGIN INIT INFO
# Provides: kibana
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop kibana
### END INIT INFO
NAME=kibana
KIBANA_DIR="/grindr/share/${NAME}"
PIDFILE="/var/run/${NAME}/${NAME}.default.pid"
DAEMON="${KIBANA_DIR}/bin/${NAME}"
KIBANA_CONF="/etc/${NAME}/${NAME}.default.yml"
DAEMON_OPTS="-- -f ${KIBANA_CONF}"
# Check if daemon exists
if [ ! -x "${DAEMON}" ] ; then
echo "Kibana executable does not exist"
exit 1
fi
log() {
logger -t kibana -s "$@";
}
start() {
log "Starting..." $NAME
if [ -f "$PIDFILE" ] && [ -n ps -p $(cat "$PIDFILE") > /dev/null 2>&1 ] ; then
log "Kibana is already running"
exit 0
fi
( { exec $DAEMON $DAEMON_OPTS &>/dev/null & } ; echo $! > $PIDFILE ; disown "$!" )
return 0
}
stop() {
log "Shutting down..." $NAME
if [ -f "$PIDFILE" ] ; then
pid=$(cat "$PIDFILE")
log "Killing ${NAME} (pid: $pid)"
kill "$pid"
rm -f $PIDFILE
fi
}
status() {
if [ -f "$PIDFILE" ] ; then
pid = $(cat "$PIDFILE")
if [ -n ps -p $pid > /dev/null 2>&1 ] ; then
echo "running"
return 0
else
echo "stopped"
return 1
fi
else
echo "stopped"
return 1
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
start
stop
;;
status)
status
;;
*)
echo "Usage: $NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment