-
-
Save devinabyss/16d70aacbf6a67a5ae92897b5c1c661b to your computer and use it in GitHub Desktop.
RHEL/CentOS tomcat7 init.d service script.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# tomcat | |
# | |
# chkconfig: 345 96 30 | |
# description: Start up the Tomcat servlet engine. | |
# | |
# processname: java | |
# pidfile: /var/run/tomcat.pid | |
# | |
### BEGIN INIT INFO | |
# Provides: tomcat | |
# Required-Start: $network $syslog | |
# Required-Stop: $network $syslog | |
# Should-Start: distcache | |
# Short-Description: start and stop Apache HTTP Server | |
# Description: implementation for Servlet 2.5 and JSP 2.1 | |
## END INIT INFO | |
# Source function library. | |
. /etc/init.d/functions | |
## tomcat installation directory | |
PROCESS_NAME=tomcat-servicename | |
CATALINA_HOME="/home/lesstif/apache-tomcat-7.0.54/" | |
## run as a diffent user | |
TOMCAT_USER=lesstif | |
## Path to the pid, runnning info file | |
pidfile=${PIDFILE-/var/run/${PROCESS_NAME}.pid}; | |
lockfile=${LOCKFILE-/var/lock/subsys/${PROCESS_NAME}}; | |
RETVAL=0 | |
case "$1" in | |
start) | |
PID=`pidofproc -p ${pidfile} ${PROCESS_NAME}` | |
if [[ (-n ${PID}) && ($PID -gt 0) ]]; then | |
logger -s "${PROCESS_NAME}(pid ${PID}) is already running." | |
exit; | |
fi | |
if [ -f $CATALINA_HOME/bin/startup.sh ]; | |
then | |
logger -s "Starting Tomcat" | |
/bin/su -l ${TOMCAT_USER} -c "$CATALINA_HOME/bin/startup.sh -Dprocessname=${PROCESS_NAME}" | |
PID=`ps -eaf|grep processname=${PROCESS_NAME}|grep -v grep|awk '{print $2}'` | |
RETVAL=$? | |
[ $RETVAL = 0 ] && touch ${lockfile} | |
[ $RETVAL = 0 ] && echo "${PID}" > ${pidfile} | |
fi | |
;; | |
stop) | |
PID=`pidofproc -p ${pidfile} ${PROCESS_NAME}` | |
## if PID valid run shutdown.sh | |
if [[ -z ${PID} ]];then | |
logger -s "${PROCESS_NAME} is not running." | |
exit; | |
fi | |
if [[ (${PID} -gt 0) && (-f $CATALINA_HOME/bin/shutdown.sh) ]]; | |
then | |
logger -s "Stopping Tomcat" | |
/bin/su -l ${TOMCAT_USER} -c "$CATALINA_HOME/bin/shutdown.sh" | |
RETVAL=$? | |
[ $RETVAL = 0 ] && rm -f ${lockfile} | |
[ $RETVAL = 0 ] && rm -f ${pidfile} | |
fi | |
;; | |
status) | |
status -p ${pidfile} ${PROCESS_NAME} | |
RETVAL=$? | |
;; | |
restart) | |
$0 stop | |
$0 start | |
;; | |
version) | |
if [ -f $CATALINA_HOME/bin/version.sh ]; | |
then | |
logger -s "Display Tomcat Version" | |
/bin/su -l ${TOMCAT_USER} -c "$CATALINA_HOME/bin/version.sh" | |
RETVAL=$? | |
fi | |
;; | |
*) | |
echo $"Usage: $0 {start|stop|restart|status|version}" | |
exit 1 | |
;; | |
esac | |
exit $RETVAL |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment