0
点赞
收藏
分享

微信扫一扫

centos7_tomcat开机自启的shell脚本参考



Tomcat开机自启

  • 参考network编写
  • 编写shell
  • 赋予权限
  • 链接系统文件达到开机执行shell的目的
  • 增加所指定的tomcat系统服务
  • 测试结果
  • service tomcat start
  • reboot测试


参考network编写

在目录/etc/init.d参考network文件

发现就是多个命令行执行,分条件执行

centos7_tomcat开机自启的shell脚本参考_tomcat

思路:
在shell脚本中根据条件执行tomcat/bin目录下的startup.sh或则shutdown.sh,最后让系统开机的时候能执行这个shell脚本,达到开机自启的目的。

编写shell

根据java与tomcat的路径配置环境变量
这里是我的虚拟机中java和tomcat路径
JAVA_HOME=/usr/local/java/jdk1.8.0_151
CATALINA_HOME=/usr/local/tomcat

#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcatd
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JAVA_HOME=/usr/local/java/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE=/usr/local/tomcat
start()
{
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat"
                $CATALINA_HOME/bin/startup.sh
            RETVAL=$?
            echo " OK"
            return $RETVAL
        fi
}
stop()
{
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat"
                $CATALINA_HOME/bin/shutdown.sh
            RETVAL=$?
            sleep 1
            ps -fwwu root | grep tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
            echo " OK"
            # [ $RETVAL -eq 0 ] && rm -f /var/lock/...
            return $RETVAL
        fi
}
 
case "$1" in
 start) 
        start
        ;;
 stop)  
        stop
        ;;
                                                
 restart)
         echo $"Restaring Tomcat"
         $0 stop
         sleep 1
         $0 start
         ;;
 *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit $RETVAL

赋予权限

读写执行权限

# chmod +x tomcat

链接系统文件达到开机执行shell的目的

查看目录/etc/rc2.d/

类似与windows中的注册表,在系统启动的时候某些指定脚本将被执行。

前缀S16代表执行的优先级

centos7_tomcat开机自启的shell脚本参考_linux_02

# ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat

增加所指定的tomcat系统服务

# chkconfig --add tomcat

添加成功后查看

centos7_tomcat开机自启的shell脚本参考_tomcat_03

测试结果

service tomcat start

启动成功

centos7_tomcat开机自启的shell脚本参考_tomcat_04

reboot测试

重启中

centos7_tomcat开机自启的shell脚本参考_tomcat_05


tomcat已自动重启

centos7_tomcat开机自启的shell脚本参考_JAVA_06


举报

相关推荐

0 条评论