Newb - run jar in background

So, this is just my solution. Not sure is the most appropriate... please let me know if you see/have corrections/suggestions.

Installed in /opt/metabase. Created new directory for logs in /opt/metabase/log.

Created /etc/init.d/metabase script. Contents below.

Added service to start at boot:

sudo update-rc.d "metabase" defaults

I can now start the script, stop, see status with:

sudo systemctl start/stop/status metabase

To see the last entries in the log, do:

tail /opt/metabase/log/current

The log is managed by multilog. The script creates 3 log files of 10MB, which rotate.

The key command to run metabase is this:

nohup $JAVAPATH -jar $PATH_TO_JAR |multilog t s10000000 n3 '!tai64nlocal' /opt/metabase/log 2>&1

I have still to reboot the server, so the boot part is pending validation.

script /etc/init.d/metabase (I think USER is not needed anymore, just replace with your user):

#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          metabase
# Required-Start:    $remote_fs $syslog $time $network
# Required-Stop:     $remote_fs $syslog $time $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Metabase, agile analytics.
# Description:       Metabase is the easy, open source way for everyone 
#                    in your company to ask questions and learn from data.
### END INIT INFO
#
SERVICE_NAME=metabase
PATH_TO_JAR=/opt/metabase/metabase.jar
PID_PATH_NAME=/opt/metabase/metabase-pid
JAVAPATH=/usr/bin/java
PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin
USER=arcims
cd /opt/metabase
case $1 in
    start)
        echo "Starting $SERVICE_NAME ..."
        if [ ! -f $PID_PATH_NAME ]; then
            nohup $JAVAPATH -jar $PATH_TO_JAR |multilog t s10000000 n3 '!tai64nlocal' /opt/metabase/log 2>&1 &
                        echo $! > $PID_PATH_NAME
            echo "$SERVICE_NAME started ..."
        else
            echo "$SERVICE_NAME is already running ..."
        fi
    ;;
    stop)
        if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME);
            echo "$SERVICE_NAME stoping ..."
#            kill $PID;
            pkill -f "java -jar $PATH_TO_JAR"
            echo "$SERVICE_NAME stopped ..."
            rm $PID_PATH_NAME
        else
            echo "$SERVICE_NAME is not running ..."
        fi
    ;;
    restart)
        if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME);
            echo "$SERVICE_NAME stopping ...";
#            kill $PID;
            pkill -f "java -jar $PATH_TO_JAR"
            echo "$SERVICE_NAME stopped ...";
            rm $PID_PATH_NAME
            echo "$SERVICE_NAME starting ..."
            nohup $JAVAPATH -jar $PATH_TO_JAR |multilog t s10000000 n3 '!tai64nlocal' /opt/metabase/log 2>&1 &
                        echo $! > $PID_PATH_NAME
            echo "$SERVICE_NAME started ..."
        else
            echo "$SERVICE_NAME is not running ..."
        fi
    ;;
esac