helma/scripts/helma

84 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
#
# helma init script (written for debian, but should be rather generic)
# needs helma.conf, preferrably in /etc/helma.conf
#
# andreas bolka, 2003-11-30
#
HELMA_CONFIG=/etc/helma.conf
###
# Check for existence of needed config file and source it
if [ -r $HELMA_CONFIG ]; then
source $HELMA_CONFIG
else
echo "Can't read config file $HELMA_CONFIG"
exit 6
fi
# Check for missing files and directories
if [ ! -x $JAVA_BIN ]; then
echo "Config error: JAVA_BIN $JAVA_BIN not found or not executable"
exit 5
fi
if [ ! -r $HELMA_INSTALL/launcher.jar ]; then
echo "Config error: $HELMA_INSTALL/launcher.jar not found or not readable"
exit 5
fi
if [ ! -d $HELMA_HOME ]; then
echo "Config error: HELMA_HOME $HELMA_HOME not found"
exit 5
fi
# local settins
RUN_CMD="sudo -u $HELMA_USER $JAVA_BIN"
RUN_ARGS="$JAVA_OPTS -jar $HELMA_INSTALL/launcher.jar -h $HELMA_HOME $HELMA_ARGS"
case "$1" in
start)
echo -n "Starting $HELMA_SERVICE: "
if [ -f $HELMA_PID ]; then
echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) already running"
exit 1
fi
cd $HELMA_HOME
nohup $RUN_CMD $RUN_ARGS > $HELMA_LOG 2>&1 &
echo $! > $HELMA_PID
echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) started."
;;
stop)
echo -n "Shutting down $HELMA_SERVICE: "
if [ ! -f $HELMA_PID ]; then
echo "$HELMA_SERVICE not running"
exit 1
fi
PID=`cat $HELMA_PID 2>/dev/null`
echo -n "$HELMA_SERVICE (pid $PID) "
kill $PID 2>/dev/null; sleep 2; kill -9 $PID 2>/dev/null
rm -f $HELMA_PID
echo "stopped."
;;
restart)
$0 stop && $0 start
;;
reload)
echo -n "Reloading $HELMA_SERVICE: $HELMA_SERVICE"
touch $HELMA_HOME/server.properties
touch $HELMA_HOME/apps.properties
echo "."
;;
*)
echo "Usage: /etc/init.d/helma start|stop|restart|reload"
exit 1
;;
esac
exit 0