sixtydoses. where od is harmless.

January 22, 2010

Autostart tomcat upon reboot.

Filed under: Tech — Tags: , , , , — od @ 1:04 pm

So this morning they shutdown the server and called me up complaining that the website is down.

No, I didn’t ask how many times have they rebooted. Lol.

Anyway the website is down because I didn’t configure both apache and tomcat to run automatically upon reboot. Am so lazy today because it’s Friday, basically it’s a yippee day,  a day that is legal for you to come to work late, and go back early.

Googled for the auto script, but none satisfied my needs, so, here’s mine (adapted from a couple of scripts), because sharing is caring.

This script will always run tomcat as user ‘admin’ (EUID 500). If you run the script as a different user, it’ll prompt for admin’s password. Dump the script in /etc/init.d/ and run chkconfig to configure runlevel startup.





#!/bin/bash
#
# tomcat     This is the init.d script used to start tomcat.
#                It calls $CATALINA_HOME/bin/startup.sh or shutdown.sh
# chkconfig: – 91 15
# description: Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.
# processname: tomcat

export JAVA_HOME=/usr/java/jdk1.6.0_16
export CATALINA_HOME=/usr/local/apache-tomcat-5.5.28

tomcat_stop() {
if [[ $EUID -ne 500 ]]; then
su -c ‘$CATALINA_HOME/bin/shutdown.sh’ admin
exit 1
else
$CATALINA_HOME/bin/shutdown.sh
fi
}

tomcat_start() {
if [[ $EUID -ne 500 ]]; then
su -c ‘$CATALINA_HOME/bin/startup.sh’ admin
exit 1
else
$CATALINA_HOME/bin/startup.sh
fi
}

case $1 in
start)
echo -n “Starting Tomcat server:”
tomcat_start
echo “.”
;;
stop)
echo -n “Stopping Tomcat server:”
tomcat_stop
echo “.”
;;
*)
echo “Usage: /etc/init.d/tomcat start|stop”
;;
esac

Advertisements