案例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 查看是否成功

原文地址:https://www.cnblogs.com/regit/p/8491474.html