Tomcat Startup Script
Il mio script di startup basato su vari esempi e necessità che si sono verificate negli anni:
https://gist.github.com/mattocchi/7ae634a1517ca4176020c1725475fade
- pianificazione riavvio (con verifica PID tomcat)
- avvio con eventuale cancellazione log obsoleti (basta commentare la sezione dedicata)
- attesa shutdown completato
https://gist.github.com/mattocchi/7ae634a1517ca4176020c1725475fade
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 |
Commenti