Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取《OneinStack》,修改如下两个参数即可用。
使用之前修改下面2个参数:
- #Location of JAVA_HOME (bin files)
 - export JAVA_HOME=/usr/java/jdk1.7.0_80 #jdk路径
 - #CATALINA_HOME is the location of the configuration files of this instance of Tomcat
 - CATALINA_HOME=/usr/local/tomcat #tomcat路径
 - #TOMCAT_USER is the default user of tomcat
 - TOMCAT_USER=www #tomcat启动用户,需要shell权限
 
tomcat启动、停止、重启,如下图:

脚本内容如下:
- #!/bin/bash
 - #
 - # chkconfig: - 95 15
 - # description: Tomcat start/stop/status script
 - #Location of JAVA_HOME (bin files)
 - export JAVA_HOME=
 - #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=www
 - #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 id -u $1 >/dev/null 2>&1; then
 - 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
 
Tomcat启动脚本的更多相关文章
- 100个Shell脚本——【脚本3】tomcat启动脚本
		
[脚本3]tomcat启动脚本 一.脚本tomcatd.sh #!/bin/bash # chkconfig:2345 64 36 # description: Tomcat start/stop/r ...
 - [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat
		
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...
 - [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat
		
概述 我们通常使用 Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中干了一些什么事呢? 大家都知道一个 Java 程序需要启动的话, 肯定需要 main 方法, 那么这个 ...
 - linux中tomcat启动脚本:关闭、发布、重启、测试是否成功
		
说明 在使用jenkins持续集成时,需要实现自动发布包到tomcat.该脚本实现了在jenkins将包发送到linux服务器上后的自动关闭.发布.启动.测试启动是否成功的过程 思路 该思路以tomc ...
 - Tomcat启动脚本catalina.sh
		
1 - 概述脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本该脚本的使用方法如下(引自该脚 ...
 - tomcat  启动脚本走过的坑
		
最近由于 程序写的问题 tomcat经常需要重启,所以就让我写给监控tomcat并启动的脚本 例: 看着一起正常 然后就写到 crontab 计划任务里了 后来发现不管用, 找了好多文档 就是找不到问 ...
 - 外部调用Tomcat启动脚本后日志中文显示乱码问题的解决
		
外部sh脚本如下 #!/bin/bash while read LINE do echo "Hello $LINE!" case $LINE in all) tail -f -n2 ...
 - Tomcat启动脚本(1)startup.bat
		
@echo off rem Licensed to the Apache Software Foundation (ASF) under one or more rem contributor lic ...
 - tomcat 启动脚本
		
#!/bin/bash##干掉运行中的tomcat results=把结果赋值给变量,可以保证命令上条执行完再执行下一条#也可以用这句简单的代码按进程名kill: ps -ef | grep 进程名 ...
 
随机推荐
- IIS7+windows 64位配置注意事项
			
问题和解决办法 1 如果网站为Asp:再asp中注意启用父路径 2 操作必须使用一个可更新的查询:给用户iis_iusrs 一个完全控制的权限 3 Windows(64位IIS)未在本地计算机上 ...
 - html学习心得
			
注释:浏览器会自动地在段落的前后添加空行.(<p> 是块级元素) 提示:使用空的段落标记 <p></p> 去插入一个空行是个坏习惯.用 <br /> 标 ...
 - 删除hao123这个恶心的毒瘤
			
最近做服务器,好好一个东西莫名其妙的被染上了这个狗皮膏药......然后我就用了各种手段删除,注册表.组策略等等都用上了,却没有丝毫办法.....最后发现的地方特别无语,居然在快捷方式的属性中加上了u ...
 - .htaccess详解及.htaccess参数说明【转】
			
目录(?)[-] htaccess 详解 htaccess rewrite 规则详细说明 RewriteEngine OnOff RewriteBase URL-path RewriteCond Te ...
 - awk(2)-模式(pattern)
			
在上文 awk(1)-简述我们将简要描述了awk的主要使用方向和构成(由一个或多个模式-动作组成),本小节主要讲述awk的各种模式. ps:例子中使用的输入文件(如countries)内容可由awk( ...
 - C++预处理详解
			
本文在参考ISO/IEC 14882:2003和cppreference.com的C++ Preprocessor的基础上,对C++预处理做一个全面的总结讲解.如果没有特殊说明,所列内容均依据C++9 ...
 - Nginx Debug Log
			
//检查nginx.conf时(sudo ./nginx -t),输出数据到检测结果 //ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "配置解析处理&q ...
 - js连接字符串
			
实例 对象令人感兴趣的一点是用它们解决问题的方式.ECMAScript 中最常见的一个问题是字符串连接的性能.与其他语言类似,ECMAScript 的字符串是不可变的,即它们的值不能改变.请考虑下面的 ...
 - React(JSX语法)----JSX拼写
			
注意:For DOM differences,such as the inline style attribute,check here. // bad: it displays "FIrs ...
 - 《C标准库》——之<string.h>
			
<string.h>里的字符串操作函数是经常要用到的,因此阅读了源码后自己实现了一些: 拷贝函数 void * Mymemcpy(void * sDst, const void * sSr ...