|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
#!/bin/bash
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# tomcat6 This shell script takes care of starting and stopping Tomcat
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# chkconfig: - 80 20
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
### BEGIN INIT INFO
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Provides: tomcat6
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Required-Start: $network $syslog
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Required-Stop: $network $syslog
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Default-Start:
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Default-Stop:
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Description: Release implementation for Servlet 2.5 and JSP 2.1
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Short-Description: start and stop tomcat
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
### END INIT INFO
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# - heavily rewritten by Deepak Bhole and Jason Corley
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
#
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
## Source function library.
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
#. /etc/rc.d/init.d/functions
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
# Source LSB function library.
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
if [ -r /lib/lsb/init-functions ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
. /lib/lsb/init-functions
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
else
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
exit 1
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
DISTRIB_ID=`lsb_release -i -s 2>/dev/null`
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
NAME="$(basename $0)"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
unset ISBOOT
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
NAME="${NAME:3}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
ISBOOT="1"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# For SELinux we need to use 'runuser' not 'su'
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -x "/sbin/runuser" ]; then
|
|
david knox |
5fa3921 |
SU="/sbin/runuser -s /bin/sh"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
david knox |
5fa3921 |
SU="/bin/su -s /bin/sh"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
david knox |
6b3301f |
# Get the tomcat config (use this for environment specific settings)
|
|
david knox |
3cb34c7 |
TOMCAT_CFG="/etc/tomcat6/tomcat6.conf"
|
|
david knox |
6b3301f |
if [ -r "$TOMCAT_CFG" ]; then
|
|
david knox |
6b3301f |
. $TOMCAT_CFG
|
|
david knox |
6b3301f |
fi
|
|
david knox |
6b3301f |
|
|
david knox |
3cb34c7 |
# Get instance specific config file
|
|
david knox |
3cb34c7 |
if [ -r "/etc/sysconfig/${NAME}" ]; then
|
|
david knox |
3cb34c7 |
. /etc/sysconfig/${NAME}
|
|
david knox |
3cb34c7 |
fi
|
|
david knox |
3cb34c7 |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Define which connector port to use
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
CONNECTOR_PORT="${CONNECTOR_PORT:-8080}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Path to the tomcat launch script
|
|
david knox |
6a7af86 |
TOMCAT_SCRIPT="/usr/sbin/tomcat6"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Tomcat program name
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
TOMCAT_PROG="${NAME}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Define the tomcat username
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
TOMCAT_USER="${TOMCAT_USER:-tomcat}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Define the tomcat log file
|
|
david knox |
3cb34c7 |
TOMCAT_LOG="${TOMCAT_LOG:-/var/log/tomcat6/catalina.out}"
|
|
david knox |
3cb34c7 |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
RETVAL="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Look for open ports, as the function name might imply
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
function findFreePorts() {
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
local isSet1="false"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
local isSet2="false"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
local isSet3="false"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
local lower="8000"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
randomPort1="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
randomPort2="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
randomPort3="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
local -a listeners="( $(
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
netstat -ntl | \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
awk '/^tcp/ {gsub("(.)*:", "", $4); print $4}'
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
) )"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
while [ "$isSet1" = "false" ] || \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
[ "$isSet2" = "false" ] || \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
[ "$isSet3" = "false" ]; do
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
let port="${lower}+${RANDOM:0:4}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -z `expr " ${listeners[*]} " : ".*\( $port \).*"` ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ "$isSet1" = "false" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
export randomPort1="$port"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
isSet1="true"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
elif [ "$isSet2" = "false" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
export randomPort2="$port"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
isSet2="true"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
elif [ "$isSet3" = "false" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
export randomPort3="$port"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
isSet3="true"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
done
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
function makeHomeDir() {
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ ! -d "$CATALINA_HOME" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
echo "$CATALINA_HOME does not exist, creating"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ ! -d "/usr/share/${NAME}" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
mkdir /usr/share/${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
cp -pLR /usr/share/tomcat6/* /usr/share/${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
mkdir -p /var/log/${NAME} \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
/var/cache/${NAME} \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
/var/tmp/${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
ln -fs /var/cache/${NAME} ${CATALINA_HOME}/work
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
ln -fs /var/tmp/${NAME} ${CATALINA_HOME}/temp
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
cp -pLR /usr/share/${NAME}/bin $CATALINA_HOME
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
cp -pLR /usr/share/${NAME}/conf $CATALINA_HOME
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
ln -fs /usr/share/java/tomcat6 ${CATALINA_HOME}/lib
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
ln -fs /usr/share/tomcat6/webapps ${CATALINA_HOME}/webapps
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
chown ${TOMCAT_USER}:${TOMCAT_USER} /var/log/${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
function parseOptions() {
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
options=""
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
options="$options $(
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
awk '!/^#/ && !/^$/ { ORS=" "; print "export ", $0, ";" }' \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
$TOMCAT_CFG
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
)"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -r "/etc/sysconfig/${NAME}" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
options="$options $(
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
awk '!/^#/ && !/^$/ { ORS=" ";
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
print "export ", $0, ";" }' \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
/etc/sysconfig/${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
)"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
TOMCAT_SCRIPT="$options ${TOMCAT_SCRIPT}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# See how we were called.
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
function start() {
|
|
Dave Knox |
186acca |
|
|
Dave Knox |
186acca |
echo -n "Starting ${TOMCAT_PROG}: "
|
|
Dave Knox |
186acca |
if [ "$RETVAL" != "0" ]; then
|
|
Dave Knox |
186acca |
log_failure_msg
|
|
Dave Knox |
186acca |
return
|
|
Dave Knox |
186acca |
fi
|
|
Dave Knox |
186acca |
if [ -f "/var/lock/subsys/${NAME}" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -f "/var/run/${NAME}.pid" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
read kpid < /var/run/${NAME}.pid
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
# if checkpid $kpid 2>&1; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
if [ -d "/proc/${kpid}" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
log_success_msg
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
echo
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
return 0
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# fix permissions on the log and pid files
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
export CATALINA_PID="/var/run/${NAME}.pid"
|
|
Dave Knox |
186acca |
touch $CATALINA_PID 2>&1 || RETVAL="4"
|
|
Dave Knox |
186acca |
if [ "$RETVAL" -eq "0" -a "$?" -eq "0" ]; then
|
|
Dave Knox |
186acca |
chown ${TOMCAT_USER}:${TOMCAT_USER} $CATALINA_PID
|
|
Dave Knox |
186acca |
fi
|
|
Dave Knox |
186acca |
[ "$RETVAL" -eq "0" ] && touch $TOMCAT_LOG 2>&1 || RETVAL="4"
|
|
Dave Knox |
186acca |
if [ "$RETVAL" -eq "0" -a "$?" -eq "0" ]; then
|
|
Dave Knox |
186acca |
chown ${TOMCAT_USER}:${TOMCAT_USER} $TOMCAT_LOG
|
|
Dave Knox |
186acca |
fi
|
|
Dave Knox |
186acca |
if [ "$CATALINA_HOME" != "/usr/share/tomcat6" -a "$RETVAL" -eq "0" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# Create a tomcat directory if it doesn't exist
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
makeHomeDir
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# If CATALINA_HOME doesn't exist modify port number so that
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# multiple instances don't interfere with each other
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
findFreePorts
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
sed -i -e "s/8005/${randomPort1}/g" -e "s/8080/${CONNECTOR_PORT}/g" \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
-e "s/8009/${randomPort2}/g" -e "s/8443/${randomPort3}/g" \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
${CATALINA_HOME}/conf/server.xml
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
parseOptions
|
|
Dave Knox |
186acca |
if [ "$RETVAL" -eq "0" -a "$SECURITY_MANAGER" = "true" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
$SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} start-security" \
|
|
Dave Knox |
186acca |
>> $TOMCAT_LOG 2>&1 || RETVAL="4"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
Dave Knox |
186acca |
|
|
Dave Knox |
186acca |
[ "$RETVAL" -eq "0" ] && $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} start" >> $TOMCAT_LOG 2>&1 || RETVAL="4"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
Dave Knox |
186acca |
if [ "$RETVAL" -eq "0" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
log_success_msg
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
touch /var/lock/subsys/${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
Dave Knox |
186acca |
log_failure_msg "Error code ${RETVAL}"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
echo
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
function stop() {
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
echo -n "Stopping ${TOMCAT_PROG}: "
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -f "/var/lock/subsys/${NAME}" ]; then
|
|
Dave Knox |
186acca |
parseOptions
|
|
Dave Knox |
186acca |
if [ "$RETVAL" -eq "0" ]; then
|
|
Dave Knox |
186acca |
touch /var/lock/subsys/${NAME} 2>&1 || RETVAL="4"
|
|
Dave Knox |
186acca |
[ "$RETVAL" -eq "0" ] && $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1 || RETVAL="4"
|
|
Dave Knox |
186acca |
fi
|
|
Dave Knox |
186acca |
if [ "$RETVAL" -eq "0" ]; then
|
|
Dave Knox |
186acca |
count="0"
|
|
Dave Knox |
186acca |
if [ -f "/var/run/${NAME}.pid" ]; then
|
|
Dave Knox |
186acca |
read kpid < /var/run/${NAME}.pid
|
|
Dave Knox |
186acca |
until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
[ "$count" -gt "$SHUTDOWN_WAIT" ]; do
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ "$SHUTDOWN_VERBOSE" = "true" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
echo "waiting for processes $kpid to exit"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
sleep 1
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
let count="${count}+1"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
done
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ "$SHUTDOWN_VERBOSE" = "true" ]; then
|
|
Dave Knox |
186acca |
log_warning_msg "killing processes which did not stop after ${SHUTDOWN_WAIT} seconds"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
kill -9 $kpid
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
log_success_msg
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
rm -f /var/lock/subsys/${NAME} /var/run/${NAME}.pid
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
log_failure_msg
|
|
Dave Knox |
186acca |
RETVAL="4"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
log_success_msg
|
|
Dave Knox |
186acca |
RETVAL="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
echo
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
Dave Knox |
186acca |
}
|
|
Dave Knox |
186acca |
|
|
Dave Knox |
186acca |
function usage()
|
|
Dave Knox |
186acca |
{
|
|
Dave Knox |
186acca |
echo "Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status|version}"
|
|
Dave Knox |
186acca |
RETVAL="2"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
# See how we were called.
|
|
Dave Knox |
186acca |
RETVAL="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
case "$1" in
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
start)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
start
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
stop)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
stop
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
restart)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
stop
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
start
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
condrestart|try-restart)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -f "/var/run/${NAME}.pid" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
stop
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
start
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
reload)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
RETVAL="3"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
force-reload)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -f "/var/run/${NAME}.pid" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
stop
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
start
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
status)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -f "/var/run/${NAME}.pid" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
read kpid < /var/run/${NAME}.pid
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
if [ -d "/proc/${kpid}" ]; then
|
|
Dave Knox |
186acca |
log_success_msg "${NAME} (pid ${kpid}) is running..."
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
RETVAL="0"
|
|
Dave Knox |
186acca |
else
|
|
Dave Knox |
186acca |
# The pid file exists but the process is not running
|
|
Dave Knox |
186acca |
log_warning_msg "PID file exists, but process is not running"
|
|
Dave Knox |
186acca |
RETVAL="1"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
pid="$(/usr/bin/pgrep -d , -u ${TOMCAT_USER} -G ${TOMCAT_USER} java)"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
if [ -z "$pid" ]; then
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
# status ${NAME}
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
# RETVAL="$?"
|
|
Dave Knox |
186acca |
log_success_msg "${NAME} is stopped"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
41ff5cd |
RETVAL="3"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
else
|
|
Dave Knox |
186acca |
log_success_msg "${NAME} (pid $pid) is running..."
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
RETVAL="0"
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
fi
|
|
Dave Knox |
186acca |
if [ -f /var/lock/subsys/${NAME} ]; then
|
|
Dave Knox |
186acca |
pid="$(/usr/bin/pgrep -d , -u ${TOMCAT_USER} -G ${TOMCAT_USER} java)"
|
|
Dave Knox |
186acca |
# The lockfile exists but the process is not running
|
|
Dave Knox |
186acca |
if [ -z "$pid" ]; then
|
|
Dave Knox |
186acca |
log_failure_msg "${NAME} lockfile exists but process is not running"
|
|
Dave Knox |
186acca |
RETVAL="2"
|
|
Dave Knox |
186acca |
fi
|
|
Dave Knox |
186acca |
fi
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
version)
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
${TOMCAT_SCRIPT} version
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
*)
|
|
Dave Knox |
186acca |
usage
|
|
Dave Knox |
186acca |
;;
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
esac
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
|
|
![](https://seccdn.libravatar.org/avatar/8bcf9c17e061c89e5db0a317f66e30d2e7813cdfbce4a6bccef18f2b0192b328?s=16&d=retro) |
30340fb |
exit $RETVAL
|