From e0e13d68036e6712013fc7a1a83a44783f37a908 Mon Sep 17 00:00:00 2001 From: Marc Abramowitz Date: Sat, 7 Apr 2012 14:54:26 -0700 Subject: [PATCH 1/3] Make indentation consistent in graylog2ctl --- build_script/copy/bin/graylog2ctl | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/build_script/copy/bin/graylog2ctl b/build_script/copy/bin/graylog2ctl index 84bfe5a51c7b..a6287f151afa 100755 --- a/build_script/copy/bin/graylog2ctl +++ b/build_script/copy/bin/graylog2ctl @@ -5,33 +5,33 @@ NOHUP=`which nohup` start() { - echo "Starting graylog2-server ..." - $NOHUP java -jar ../graylog2-server.jar & + echo "Starting graylog2-server ..." + $NOHUP java -jar ../graylog2-server.jar & } stop() { - PID=`cat /tmp/graylog2.pid` - echo "Stopping graylog2-server ($PID) ..." - kill $PID + PID=`cat /tmp/graylog2.pid` + echo "Stopping graylog2-server ($PID) ..." + kill $PID } restart() { - echo "Restarting graylog2-server ..." - stop - start + echo "Restarting graylog2-server ..." + stop + start } case "$CMD" in - start) - start - ;; - stop) - stop - ;; - restart) - restart - ;; - *) - echo "Usage $0 {start|stop|restart}" - RETVAL=1 + start) + start + ;; + stop) + stop + ;; + restart) + restart + ;; + *) + echo "Usage $0 {start|stop|restart}" + RETVAL=1 esac From df8972034ce08fd31403f60de65b8f2bffa8079f Mon Sep 17 00:00:00 2001 From: Marc Abramowitz Date: Sat, 7 Apr 2012 19:45:52 -0700 Subject: [PATCH 2/3] Add a "status" subcommand to graylog2ctl --- build_script/copy/bin/graylog2ctl | 32 +++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/build_script/copy/bin/graylog2ctl b/build_script/copy/bin/graylog2ctl index a6287f151afa..523c0fac08eb 100755 --- a/build_script/copy/bin/graylog2ctl +++ b/build_script/copy/bin/graylog2ctl @@ -12,7 +12,9 @@ start() { stop() { PID=`cat /tmp/graylog2.pid` echo "Stopping graylog2-server ($PID) ..." - kill $PID + if kill $PID; then + rm /tmp/graylog2.pid + fi } restart() { @@ -21,6 +23,29 @@ restart() { start } +status() { + pid=$(get_pid) + if [ ! -z $pid ]; then + if pid_running $pid; then + echo "graylog2-server running as pid $pid" + return 0 + else + echo "Stale pid file with $pid - removing..." + rm /tmp/graylog2.pid + fi + fi + + echo "graylog2-server not running" +} + +get_pid() { + cat /tmp/graylog2.pid 2> /dev/null +} + +pid_running() { + kill -0 $1 2> /dev/null +} + case "$CMD" in start) start @@ -31,7 +56,10 @@ case "$CMD" in restart) restart ;; + status) + status + ;; *) - echo "Usage $0 {start|stop|restart}" + echo "Usage $0 {start|stop|restart|status}" RETVAL=1 esac From dc601cfe5783cdce2c3119182a00083120d9823b Mon Sep 17 00:00:00 2001 From: Marc Abramowitz Date: Sat, 7 Apr 2012 21:51:49 -0700 Subject: [PATCH 3/3] Make graylog2ctl more generic. Uses a new settings file, graylog2_config.sh, in the same directory as graylog2ctl. This file can be used to customize the environment and change the location of the conf file, pid file, etc. --- build_script/copy/bin/graylog2ctl | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/build_script/copy/bin/graylog2ctl b/build_script/copy/bin/graylog2ctl index 523c0fac08eb..e3d31cf43031 100755 --- a/build_script/copy/bin/graylog2ctl +++ b/build_script/copy/bin/graylog2ctl @@ -3,17 +3,37 @@ CMD=$1 NOHUP=`which nohup` +# resolve links - $0 may be a softlink +GRAYLOG2CTL="$0" + +while [ -h "$GRAYLOG2CTL" ]; do + ls=`ls -ld "$GRAYLOG2CTL"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + GRAYLOG2CTL="$link" + else + GRAYLOG2CTL=`dirname "$GRAYLOG2CTL"`/"$link" + fi +done + +GRAYLOG2CTL_DIR=`dirname "$GRAYLOG2CTL"` +GRAYLOG2_SERVER_JAR=${GRAYLOG2CTL_DIR}/../graylog2-server.jar +GRAYLOG2_CONFIG_SH=${GRAYLOG2CTL_DIR}/graylog2_config.sh +GRAYLOG2_CONF=/etc/graylog2.conf +GRAYLOG2_PID=/tmp/graylog2.pid + +[ -f $GRAYLOG2_CONFIG_SH ] && . $GRAYLOG2_CONFIG_SH start() { echo "Starting graylog2-server ..." - $NOHUP java -jar ../graylog2-server.jar & + $NOHUP java -jar ${GRAYLOG2_SERVER_JAR} -f ${GRAYLOG2_CONF} -p ${GRAYLOG2_PID} & } stop() { - PID=`cat /tmp/graylog2.pid` + PID=`cat ${GRAYLOG2_PID}` echo "Stopping graylog2-server ($PID) ..." if kill $PID; then - rm /tmp/graylog2.pid + rm ${GRAYLOG2_PID} fi } @@ -31,7 +51,7 @@ status() { return 0 else echo "Stale pid file with $pid - removing..." - rm /tmp/graylog2.pid + rm ${GRAYLOG2_PID} fi fi @@ -39,7 +59,7 @@ status() { } get_pid() { - cat /tmp/graylog2.pid 2> /dev/null + cat ${GRAYLOG2_PID} 2> /dev/null } pid_running() {