设为首页 收藏本站
查看: 672|回复: 0

一个写得很棒的tomcat shell启动脚本

[复制链接]

尚未签到

发表于 2018-8-26 12:01:02 | 显示全部楼层 |阅读模式
  #!/bin/bash
  #
  # chkconfig: - 95 15
  # description: Tomcat start/stop/status script
  #Location of JAVA_HOME (bin files)
  export JAVA_HOME=/usr/local/jdk1.7.0/
  #Add Java binary files to PATH
  export PATH=$JAVA_HOME/bin:$PATH
  #CATALINA_HOME is the location of the configuration files of this instance of Tomcat
  CATALINA_HOME=/usr/local/tomcat
  #TOMCAT_USER is the default user of tomcat
  TOMCAT_USER=root
  #TOMCAT_USAGE is the message if this script is called without any options
  TOMCAT_USAGE="Usage: $0{\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"
  #SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
  SHUTDOWN_WAIT=20
  tomcat_pid() {
  echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d " " -f2`
  }
  start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ];then
  echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
  else
  echo -e "\e[00;32mStarting tomcat\e[00m"
  if [ `user_exists $TOMCAT_USER` = "1" ];then
  su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
  else
  $CATALINA_HOME/bin/startup.sh
  fi
  status
  fi
  return 0
  }
  status(){
  pid=$(tomcat_pid)
  if [ -n "$pid" ];then
  echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"
  else
  echo -e "\e[00;31mTomcat is not running\e[00m"
  fi
  }
  stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ];then
  echo -e "\e[00;31mStoping Tomcat\e[00m"
  $CATALINA_HOME/bin/shutdown.sh
  let kwait=$SHUTDOWN_WAIT
  count=0;
  until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
  do
  echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";
  sleep 1
  let count=$count+1;
  done
  if [ $count -gt $kwait ];then
  echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"
  kill -9 $pid
  fi
  else
  echo -e "\e[00;31mTomcat is not running\e[00m"
  fi
  return 0
  }
  user_exists(){

  if>  echo "1"
  else
  echo "0"
  fi
  }
  case $1 in
  start)
  start
  ;;
  stop)
  stop
  ;;
  restart)
  stop
  start
  ;;
  status)
  status
  ;;
  *)
  echo -e $TOMCAT_USAGE
  ;;
  esac
  exit 0


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-556809-1-1.html 上篇帖子: 程序发布shell脚本 下篇帖子: 如何不耍流氓的做运维之-SHELL脚本 ​
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表