zoukankan      html  css  js  c++  java
  • 案例2-tomcat自启动脚本

    适用于ubuntu,centos

    涉及知识点

    1. 函数

    2. case语句

    #!/bin/bash
    #chkconfig: 2345 10 90
    #description:Tomcat service
    #pidfile: /var/run/tomcat.pid
    #processname: tomcat
    #说明:
    #第一行是服务的配置:第一个数字是服务的运行级,2345表明这个服务的运行级是2、3、4和5级(Linux的运行级为0到6);第二个数字是启动优先级,数值从0到99;第三个数是停止优先级,数值也是从0到99。(运行级介绍见附录4.2)
    #第二行是对服务的描述
    #如果不写这两行,在执行“chkconfig --add tomcat”时,会出现“tomcat服务不支持chkconfig”的错误提示
    #后面那两行是参照公司脚本加上的,可以测试下是否有用。
    
    #tomcat auto-start
    
     export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_80
     TOMCATS="apache-tomcat-7.0.81"
    
    getPID(){
           PID=$(ps -ef | grep tomcat | awk '/java/' | awk '{print $2}' )
           #awk ’/java/'是搜索有java关键字的所有行
    }
    
    stopt(){
                    HOME=/home/axinfu/apache-tomcat-7.0.81
                    getPID
                    if [[ "${PID}X" == "X" ]]; then
                            echo "$TOMCATS is not running"
                    else
                            kill -9 $PID
                              sleep 0.5
                            #echo $PID ---测试
                            PID=$(ps -ef | grep tomcat | awk '/java/' | awk '{print $2}' )
                            # echo $PID --测试
                            [ -z "$PID" ] && echo "TOMCAT HAS STOPPED" || echo "TOMCAT IS STOPPING"
    #注意:在杀掉进程后,需要重新定义PID的变量值,-z可以判断字符串是否为空
                    fi
          }
    statust(){
                    getPID
                    if [[ "${PID}X" == "X" ]]; then
                            echo "TOMCATS is not running"
                    else
                            echo "TOMCATS is running... PID: ${PID}"
                    fi
            }
    
     case $1 in
     start)
         /bin/su -s /bin/sh - axinfu -c "cd /home/axinfu/apache-tomcat-7.0.81/bin/&&./startup.sh"
         ;;
     stop)
          stopt  
         ;;
     restart)
          stopt
         /bin/su -s /bin/sh - axinfu -c "cd /home/axinfu/apache-tomcat-7.0.81/bin/&&./startup.sh"
    # -s : --shell  -c:给shell传一个命令    -axinfu:就是切换到axinfu用户下。
         ;;
     status)
         statust
         ;;
     *)
         echo 'Usage:tomcat start|stop|restart|status'
         ;;
     esac
    
    exit 0

    ubuntu加入开机启动的命令

    1)开机启动tomcat,如果是简单的一条启动命令,可以在/etc/rc.local中添加,

    2)如果想运行脚本,则可先将脚本复制或者软连接到/etc/init.d/目录下,然后用:

    update-rc.d tomcat defaults NN命令(NN为启动顺序,比如95) #加入自启动命令
    update-rc.d -f tomcat remove  #去取自启动

    centos加入开机启动命令

    tomcat加到开机启动 chkconfig --add tomcat    chkconfig --list tomcat 查看是否成功

  • 相关阅读:
    关于JSON可能出现的错误,待更/todo
    mongoose的安装与使用(书签记录) 2017
    HTTP的学习记录3--HTTPS和HTTP
    HTTP的学习记录(二)头部
    HTTP(一)概述
    LeetCode 455. Assign Cookies
    LeetCode 453. Minimum Moves to Equal Array Elements
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 447. Number of Boomerangs
    LeetCode 416. Partition Equal Subset Sum
  • 原文地址:https://www.cnblogs.com/regit/p/8491474.html
Copyright © 2011-2022 走看看