#!/bin/bash
### BEGIN INIT INFO
# Provides:          graylog2-server
# Required-Start:    $network $named $remote_fs $syslog
# Required-Stop:     $network $named $remote_fs $syslog
# Default-Start:     2 3 5
# Default-Stop:      0 1 6
# Short-Description: Graylog2 Server
# Description:       Graylog2 Server - Search your logs, create charts, send reports and be alerted when something happens.
### END INIT INFO

# Source function library.
. /etc/init.d/functions

# Pull in sysconfig settings
[ -f /etc/sysconfig/graylog2-server ] && . /etc/sysconfig/graylog2-server

export GRAYLOG2CTL_DIR GRAYLOG2_SERVER_JAR GRAYLOG2_CONF GRAYLOG2_PID GRAYLOG2_USER LOG4J LOG_FILE
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Graylog2 Server"
NAME=graylog2-server
PROG=$NAME
CMD_LINE=$GRAYLOG2CTL_DIR/graylog2ctl
LOCKFILE=/var/lock/subsys/$NAME
JAR_FILE=/usr/lib/graylog2/server/$GRAYLOG2_SERVER_JAR
# Exit if the package is not installed
[ -e "$JAR_FILE" ] || exit 0

start() {
    echo -n $"Starting ${NAME}: "
    (mkdir -p $(dirname ${GRAYLOG2_PID});chown ${GRAYLOG2_USER}. $(dirname ${GRAYLOG2_PID}))
    daemon --user=${GRAYLOG2_USER} $CMD_LINE start
    RETVAL=$?
    echo 
    sleep 2
    [ $RETVAL = 0 ] && touch ${LOCKFILE}
    return $RETVAL
}

stop() {
    echo -n $"Shutting down $PROG: "
    killproc -p ${GRAYLOG2_PID} $PROG
    RETVAL=$?
    echo
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
    return $RETVAL
}


case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status -p ${GRAYLOG2_PID} $NAME
        RETVAL=$?
        ;;
    restart|force-reload)
        stop
        start
        ;;
    *)
        N=/etc/init.d/${NAME}
        echo "Usage: $N {start|stop|status|restart|force-reload}" >&2
        RETVAL=2
        ;;
esac

exit $RETVAL
