LINUX下对Tomcat控制的shell文件

来源:互联网 发布:python windows ui 编辑:程序博客网 时间:2024/05/19 08:05

#!/bin/sh
##################################################################
#                                                                #
#                Program    :  busi                              #
#                Author     :                                    #
#                E-mail     :                                    #
#                                                                #
##################################################################

##################################################################
# 函 数 CheckBusi
# 功能简介:检查tomcat是否已在运行
# 详细描述:
#
# 调用说明:
#
# 参    数:
# 返 回 值:
##################################################################
CheckBusi()
{
   BUSI_PROCESS_PID_COUNT=`ps aux | grep '/home/busi/jdk1.5.0_16/jre/bin/java' | grep -v grep | \
      grep -v vi | grep -v tail | grep -v "sh -x" |  awk '{print $2}' | wc -l`
   if [ ${BUSI_PROCESS_PID_COUNT} -ge 1 ]; then
      echo "BUSI[PID:${BJWXCS_BUSI_PROCESS_PID}] has already started and is running normally."
      echo "You cannot start more than 2 busi on a server at one time."
      exit
   else
      echo "==================================================================="
      echo "== busi starts running on `date` =="
      echo "==== You can use command 'busi log' to get a real-time view. ===="
      echo "==================================================================="     
   fi
}

##################################################################
# 函 数 CheckDbConnect
# 功能简介:测试数据路连接是否畅通
# 详细描述:
#
#
# 调用说明:$1:name $2:password $3:servename
#
# 参    数:name 用户名
#           password 密码
#           servename 本地配置的服务名
# 返 回 值:1:测试连接成功
#           0:测试连接失败
##################################################################
CheckDbConnect()
{
su - oracle <<EOF
oracle
sqlplus $1/$2@$3 >/dev/null
set head off
exit
EOF
   echo ""
   if [ $? -ne 0 ]; then
      echo "Trying to connect Oracle using [$3] failed, please check config!"
      return 0
   else
      echo "Check Connect to Oracle Okay."
      return 1
   fi
}


BUSI_PROCESS_PID=`ps aux | grep "/home/busi/jdk1.5.0_16/jre/bin/java" | grep -v grep | \
   grep -v vi | grep -v tail | grep -v "sh -x" |  awk '{print $2}' | sed -n '1p'`
  
case $1 in
# start ##########################################################
start)
# 验证当前的tomcat是否已经启动,若没启动,则启动tomcat
   CheckBusi
   sh /home/busi/busiTomcat/bin/startup.sh
;;
# stop ###########################################################
stop)
   if [ "x${BUSI_PROCESS_PID}" != "x" ]; then
      echo "Stopping BUSI on `date`"
# 杀死当期tomcat的进程     

      kill -9 ${BUSI_PROCESS_PID}
      BUSI_PROCESS_PID=`ps aux | grep "/home/busi/jdk1.5.0_16/jre/bin/java" | grep -v grep | \
         grep -v vi | grep -v tail | grep -v "sh -x" |  awk '{print $2}' | sed -n '1p'`  
      if [ "x${BUSI_PROCESS_PID}" != "x" ]; then
         echo "Trying to stop BUSI failed!"
      else
         echo "BUSI stopped"
      fi
   else
      echo "BUSI is not running"
   fi
;;
# status #########################################################
status)
   echo ""
   echo -n "===========BUSI Status on `date`:"
   if [ "x${BUSI_PROCESS_PID}" != "x" ]; then
      echo -e "[\033[1mRUNNING PID: ${BUSI_PROCESS_PID}\033[0m]==========="
   else
      echo -e "[\033[1mSTOPPED\033[0m]============"
   fi
   echo ""
;;
# log #########################################################
log)
   tail -f /home/busi/busiTomcat/logs/bjwxcs.log
;;
# delLog #########################################################
delLog)
   cat > /home/busi/busiTomcat/logs/bjwxcs.log /dev/null
;;
# dbstatus #########################################################
dbstatus)
   CheckDbConnect busi busi busidb
;;
# others #########################################################
*)
   echo "Usage $0 {start|stop|status|log|delLog|dbstatus}"
;;
esac

原创粉丝点击