Last active
October 3, 2019 09:47
-
-
Save mattocchi/7ae634a1517ca4176020c1725475fade to your computer and use it in GitHub Desktop.
Tomcat Startup Script
This file contains 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 | |
# | |
# Author: Mirco Attocchi | |
# | |
# Tomcat Startup Script | |
# thanks to http://www.akadia.com/download/soug/tomcat/html/tomcat_startscript.html | |
# thanks to http://askubuntu.com/questions/223944/how-to-automatically-restart-tomcat7-on-system-reboots | |
CATALINA_HOME=/home/cloud/apache-tomcat-7.0.82; export CATALINA_HOME | |
JAVA_HOME=/home/cloud/jdk1.7.0_75; export JAVA_HOME | |
TOMCAT_OWNER=cloud; export TOMCAT_OWNER | |
SHUTDOWN_WAIT=30 | |
# CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m -Xms128m -Xmx2048m -Xss512k" | |
CATALINA_OPTS="$CATALINA_OPTS -Xms256m -Xmx512m -XX:PermSize=32m" | |
CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m -Xss2m" | |
CATALINA_OPTS="$CATALINA_OPTS -XX:+UseConcMarkSweepGC" | |
CATALINA_OPTS="$CATALINA_OPTS -XX:+CMSClassUnloadingEnabled" | |
# JMX Monitoring Options | |
#CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote" | |
#CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.port=9199" | |
#CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false" | |
#CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.authenticate=false" | |
#CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=test.aleven.it" | |
export CATALINA_OPTS | |
HTTP_PORT="8081" | |
HTTPS_PORT="8444" | |
AJP_PORT="8010" | |
#SHUTDOWN_PORT=$(($HTTP_PORT+1)) | |
# java opts are primary and we need these to define the http ports | |
export JAVA_OPTS="$JAVA_OPTS -Dhttp.port=$HTTP_PORT" | |
export JAVA_OPTS="$JAVA_OPTS -Dhttps.port=$HTTPS_PORT" | |
export JAVA_OPTS="$JAVA_OPTS -Dajp.port=$AJP_PORT" | |
#export JAVA_OPTS="$JAVA_OPTS -Dshutdown.port=$SHUTDOWN_PORT" | |
tomcat_pid() { | |
#echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'` | |
echo `ps aux | grep $CATALINA_HOME | grep -v grep | awk '{ print $2 }'` | |
} | |
start() { | |
pid=$(tomcat_pid) | |
if [ -n "$pid" ] | |
then | |
echo "Tomcat is already running (pid: $pid)" | |
else | |
#echo "Clean Tomcat logs: " | |
#su $TOMCAT_OWNER -c "rm -rf $CATALINA_HOME/logs/*" | |
#rm -rf $CATALINA_HOME/logs/* | |
#rm -rf *.log* | |
echo "Starting Tomcat..." $HTTP_PORT $HTTPS_PORT $AJP_PORT | |
#su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh | |
$CATALINA_HOME/bin/startup.sh | |
sleep 2 | |
fi | |
} | |
stop() { | |
pid=$(tomcat_pid) | |
if [ -n "$pid" ] | |
then | |
echo "Stopping Tomcat..." | |
#su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh | |
$CATALINA_HOME/bin/shutdown.sh | |
sleep 1 | |
let kwait=$SHUTDOWN_WAIT | |
count=0; | |
until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ] | |
do | |
echo "waiting for processes $pid to exit"; | |
sleep 1 | |
let count=$count+1; | |
done | |
if [ $count -gt $kwait ]; then | |
echo "killing processes which didn't stop after $SHUTDOWN_WAIT seconds" | |
kill -9 $pid | |
echo " process killed manually" | |
fi | |
else | |
echo "Tomcat is not running" | |
fi | |
} | |
# See how we were called. | |
case "$1" in | |
start) | |
start | |
;; | |
stop) | |
stop | |
;; | |
restart) | |
stop | |
sleep 2 | |
start | |
;; | |
*) | |
echo $"Usage: tomcat {start|stop|restart}" | |
exit | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment