DP beschäftigen - Tomcat Statusabfrage

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Sodala. Beschäftige mich ja zz sehr intensiv mit Tomcat hätte aber ne kleine Frage ob es da einen Befehl/Script/parameter gibt mit dem man abfragen kann ob der Tomcat Server bereits läuft oder nicht!

Habe die 5.08 Version und auf die schnelle hab ich nix gefunden (hab aber nur nach Scripts gesucht)

Also, weißt du was außer mit ps ax auf den Prozess abfragen
 
So, hab mir selber schnell ein Script geschrieben :bae:

res=`ps ax | grep -c "org.apache.catalina.startup.Bootstrap start"`
if [ "$res" -eq 1 ]
then
echo "not running"
else
echo "running"
fi

Mit dem sollte es hinhauen, muss noch sehen wie ich das dem rc.status hinschaufle!
 
Mein Tomcatscript sieht so aus:
Code:
#!/bin/bash
#
# Startup script for Tomcat
#
# chkconfig: 345 84 16
# description: Tomcat jakarta JSP server



export TOMCAT_HOME=/main/extworkflow//opt/tomcat
TOMCAT_START=$TOMCAT_HOME/bin/startup.sh
TOMCAT_STOP=$TOMCAT_HOME/bin/shutdown.sh

#Necessary environment variables
export JAVA_HOME="/usr/java/j2sdk1.4.2"
export CATALINA_HOME="/opt/tomcat"
export LD_KERNEL_ASSUME="2.2.5"

# Source function library.
#. /etc/rc.d/init.d/functions

# Source networking configuration.
#. /etc/sysconfig/network

# Check that networking is up.
#[ ${NETWORKING} = "no" ] && exit 0

#Check for tomcat script
if [ ! -f $TOMCAT_HOME/bin/catalina.sh ]
then
    echo "Tomcat not available..."
    exit
fi

start() {
    echo -n "Starting Tomcat: "
    $TOMCAT_START
    echo
    #touch /var/lock/subsys/tomcatd
# We may need to sleep here so it will be up for apache
#    sleep 5
#Instead should check to see if apache is up by looking for http.pid
}

stop() {
    echo -n $"Shutting down Tomcat: "
    $TOMCAT_STOP
    #rm -f /var/lock/subsys/tomcatd.pid
    echo
}

status() {
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}' | wc | awk '{print $2}' > /tmp/tomcat_process_count.txt
   read line < /tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
    echo -n "tomcatd ( pid "
    ps ax --width=1000 | grep "[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 " "}'
    echo -n ") is running..."
else
    echo -n "Tomcat is stopped"
fi
}

case "$1" in
    start)
	start
	;;
     stop)
	stop
	;;
     restart)
	stop
	sleep 3
	start
	;;
     status)
	status
	;;
     *)
	echo "Usage: tomcatd {start|stop|restart|status}"
     exit 1
esac
HTH
 
hrhr 😉
das mit width=1000 hab ich auch schon machen müssen 😉

aber sonst siehts ziemlich gleich aus!

Ich post mal nachher! Habe aber Probleme mit dem rc_status, das er mir beim Status immer noch grün running statt rot dead hinschreibt!
 
Und hier ist meines mit 100% handarbeit :bae:

Deswegen könnten auch Fehler drinnen sein, also wenn wer was findet, melden!!

Code:
#Tomcat Script (c) 2004 by Taschek Joerg

export JAVA_HOME=/usr/java/j2sdk1.4.2_06/ 
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starte Tomcat"
/usr/kasse/npos/cspm/jakarta-tomcat-5.0.28/bin/startup.sh > /dev/null
rc_status -v
;;
stop)
echo -n "Stoppe Tomcat"
/usr/kasse/npos/cspm/jakarta-tomcat-5.0.28/bin/shutdown.sh > /dev/null
rc_status -v
;;
restart)
echo -n "Restarte Tomcat"
$0 stop
sleep 2
$0 start
rc_status
;;
version)
/usr/kasse/npos/cspm/jakarta-tomcat-5.0.28/bin/version.sh
;;
status)
echo -n "Tomcat is "
res=`ps ax --width=1000 | grep -c "org.apache.catalina.startup.Bootstrap start"`
if [ "$res" -ne 1 ]
then
rc_status -v
else
rc_failed 1
rc_status -v 
fi
;;
*)
echo "Usage: $0 {start|stop|restart|version|status}"
exit 1
;;
esac

Nachtrag: man könnte halt statt > /dev/null in ein File was mitloggen und vielleicht mittels Lock ein mehrmaliges starten verhindern, aber das brauche ich zz net 😉

Nochwas: Das Script schreibt jetzt alles so schön hin wie die smb/apache Scripts (also mit running, dead, done, failed..)
 
warum nicht einen http Request an einen offenen Connector schicken und wenn 200OK kommt dann läuft er 🙂
 
...oder ein server-monitoring-tool saugen, fertig 😉

ansonsten macht tomcat ab 5.x monitoring via jmx möglich.

kann man sich relativ einfach über den aktuellen server- und applikationsstatus informieren.

im aktuellen java-magazin wird das thema beispielhaft behandelt.

cu
 
so hab mein Script noch bisi umgeschrieben, sodass ein sleep drinnen ist und er am Anfang checkt ob es läuft oder nicht!

Code:
#Tomcat Script (c) 2004 by Taschek Joerg

export JAVA_HOME=/usr/java/j2sdk1.4.2_06/ 
. /etc/rc.status
rc_reset
case "$1" in
start)
echo -n "Starting Tomcat"
/usr/kasse/npos/cspm/jakarta-tomcat-5.5.4/bin/startup.sh > /dev/null
sleep 4
$0 arrg
rc_status -v
;;
stop)
echo -n "Stoping Tomcat"
/usr/kasse/npos/cspm/jakarta-tomcat-5.5.4/bin/shutdown.sh > /dev/null
rc_status -v
;;
restart)
echo -n "Restarting Tomcat"
$0 stop
sleep 2
$0 start
rc_status
;;
arrg)
res=`ps ax --width=1000 | grep -c "org.apache.catalina.startup.Bootstrap start"`
if [ "$res" -ne 1 ]
then
rc_status
else
rc_failed 1
rc_status
fi
;;
version)
/usr/kasse/npos/cspm/jakarta-tomcat-5.5.4/bin/version.sh
;;
status)
echo -n "Tomcat is "
$0 arrg
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|restart|version|status}"
exit 1
;;
esac
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben