ddfc98c
#!/bin/bash
ddfc98c
#
ddfc98c
# This script provides systemd activation of the tomcat service
ddfc98c
# To create clones of this service:
ddfc98c
# 1) SERVICE_NAME must be defined before calling this script
ddfc98c
# 2) Create /etc/sysconfig/${SERVICE_NAME} from /etc/sysconfig/tomcat
ddfc98c
# to override tomcat defaults
ddfc98c
ddfc98c
# SERVICE_NAME is a required value only if the service name is 
ddfc98c
# different from 'tomcat'
ddfc98c
#
18fb32c
export NAME="${SERVICE_NAME:-tomcat}"
ddfc98c
ddfc98c
#I'll bet this isn't required. 
ddfc98c
# unset ISBOOT
ddfc98c
ddfc98c
# For SELinux we need to use 'runuser' not 'su'
ddfc98c
if [ -x "/sbin/runuser" ]; then
ddfc98c
    SU="/sbin/runuser -s /bin/sh"
ddfc98c
else
ddfc98c
    SU="/bin/su -s /bin/sh"
ddfc98c
fi
ddfc98c
ddfc98c
# Path to the tomcat launch script
ddfc98c
TOMCAT_SCRIPT="/usr/sbin/tomcat"
ddfc98c
        
ddfc98c
# Define the tomcat username
ddfc98c
TOMCAT_USER="${TOMCAT_USER:-tomcat}"
ddfc98c
ddfc98c
# TOMCAT_LOG should be different from catalina.out.
ddfc98c
# Usually the below config is all that is necessary
ddfc98c
TOMCAT_LOG=/var/log/${NAME}/${NAME}-sysd.log
ddfc98c
ddfc98c
# Get the tomcat config (use this for environment specific settings)
ddfc98c
TOMCAT_CFG="/etc/tomcat/tomcat.conf"
ddfc98c
if [ -r "$TOMCAT_CFG" ]; then
ddfc98c
    . $TOMCAT_CFG
ddfc98c
fi
ddfc98c
ddfc98c
# Get instance specific config file
ddfc98c
if [ -r "/etc/sysconfig/${NAME}" ]; then
ddfc98c
    . /etc/sysconfig/${NAME}
ddfc98c
fi
ddfc98c
ddfc98c
# See how we were called.
ddfc98c
function start() {
ddfc98c
    # fix permissions on the log and pid files
ddfc98c
    export CATALINA_PID="/var/run/${NAME}.pid"
ddfc98c
ddfc98c
    touch $TOMCAT_LOG 2>&1 
ddfc98c
    if [ "$?" -eq "0" ]; then
ddfc98c
      chown ${TOMCAT_USER}:${TOMCAT_USER} $TOMCAT_LOG
ddfc98c
    fi
ddfc98c
ddfc98c
    if [ "$SECURITY_MANAGER" = "true" ]; then
18fb32c
       ${TOMCAT_SCRIPT} start-security >> $TOMCAT_LOG 2>&1 
ddfc98c
    else
18fb32c
       ${TOMCAT_SCRIPT} start #>> $TOMCAT_LOG 2>&1
ddfc98c
    fi
ddfc98c
}
ddfc98c
ddfc98c
function stop() {
18fb32c
    ${TOMCAT_SCRIPT} stop >> $TOMCAT_LOG 2>&1
ddfc98c
}
ddfc98c
ddfc98c
# See how we were called.
ddfc98c
case "$1" in
ddfc98c
    start)
ddfc98c
        start
ddfc98c
        ;;
ddfc98c
    stop)
ddfc98c
        stop
ddfc98c
        ;;
ddfc98c
    restart)
ddfc98c
        stop
ddfc98c
        start
ddfc98c
        ;;
ddfc98c
esac
ddfc98c