本帖最后由 落倾尽 于 2014-6-20 15:48 编辑
#!/bin/bash
#edit by lanjp
# Source LSB function library.
if [ -r /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
else
exit 1
fi
#
CATALINA_BASE=$1
RUNPATH="/opt/web"
#
function stop() {
PIDS=`ps aux | grep java | grep $CATALINA_BASE | awk '{print $2}'`
if [ -z "$PIDS" ];then
echo "$CATALINA_BASE is stoped."
else
echo -en "Shutting down $CATALINA_BASE \t..."
#su -l tomcat -c $CATALINA_BASE/bin/shutdown.sh > /dev/null 2>&1
su - tomcat $RUNPATH/$CATALINA_BASE/bin/shutdown.sh >/dev/null 2>&1
sleep 2
PIDS=`ps aux | grep java | grep $CATALINA_BASE | awk '{print $2}'`
if [ -z "$PIDS" ];then
log_success_msg
#return 0
fi
echo -n "..."
sleep 2
PIDS=`ps aux | grep java | grep $CATALINA_BASE | awk '{print $2}'`
if [ -z "$PIDS" ];then
log_success_msg
echo
#return 0
fi
echo -n "....."
sleep 2
PIDS=`ps aux | grep java | grep $CATALINA_BASE | awk '{print $2}'`
if [ -z "$PIDS" ];then
log_success_msg
echo
#return 0
fi
echo -n "..."
kill -9 "$PIDS" 2>&1 >/dev/null
RETVAL=$?
[ $RETVAL -eq 0 ] && log_success_msg
[ $RETVAL -ne 0 ] && log_failure_msg
sleep 1
#exit $RETVAL
fi
}
function start () {
PIDS=`ps aux | grep java | grep $CATALINA_BASE | awk '{print $2}'`
if [ ! -z "$PIDS" ];then
echo "$CATALINA_BASE (pid $PIDS) is running"
else
su - tomcat $RUNPATH/$CATALINA_BASE/bin/startup.sh >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ];then
log_success_msg "Starting $CATALINA_BASE"
else
log_failure_msg "Starting $CATALINA_BASE"
fi
sleep 2
fi
}
function status () {
PIDS=`ps aux | grep java | grep $CATALINA_BASE | awk '{print $2}'`
[ "$PIDS" != "" ] && log_success_msg "`basename $CATALINA_BASE` (pid $PIDS) is running"
[ "$PIDS" == "" ] && log_success_msg "`basename $CATALINA_BASE` is stoped"
}
case $2 in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 CATALINA_BASE {start|stop|restart|status}"
echo "Example: sh $0 tomcat_apps status"
esac