centos7_tomcat开机自启的shell脚本参考

简介: centos7_tomcat开机自启的shell脚本参考

参考network编写

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

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

思路:

在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代表执行的优先级

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

增加所指定的tomcat系统服务

# chkconfig --add tomcat

添加成功后查看

测试结果

service tomcat start

启动成功

reboot测试

重启中

tomcat已自动重启


目录
相关文章
|
5天前
|
Shell
蓝易云 - 简单shell脚本的编写教程
以上就是编写一个基本Shell脚本的步骤。当然,Shell脚本可以做的远不止这些,你可以使用变量,控制结构(如if语句和循环),以及各种Shell命令和功能来编写更复杂的脚本。
12 1
|
17天前
|
监控 Shell Linux
Linux的Shell脚本详解
Linux的Shell脚本详解
|
21天前
|
Shell
shell脚本
shell脚本
18 2
|
1天前
|
Linux Shell 数据安全/隐私保护
centos 开机启动流程、开机运行级别
centos 开机启动流程、开机运行级别
|
1天前
|
移动开发 网络协议 Shell
查看IP访问量的shell脚本汇总
查看IP访问量的shell脚本汇总
|
6天前
|
Shell 调度
Shell脚本中的if条件判断语句
Shell脚本中的if条件判断语句
|
6天前
|
Shell
蓝易云 - 简单shell脚本的编写教程
以上就是编写一个基本Shell脚本的步骤。当然,Shell脚本可以做的远不止这些,你可以使用变量,控制结构(如if语句和循环),以及各种Shell命令和功能来编写更复杂的脚本。
5 0
|
7天前
|
机器学习/深度学习 Unix Java
技术笔记:Linux之Shell脚本编程(一)
技术笔记:Linux之Shell脚本编程(一)
12 0
|
10天前
|
消息中间件 RocketMQ
Centos7.6安装RocketMQ4.9.2并配置开机自启
Centos7.6安装RocketMQ4.9.2并配置开机自启
17 0
|
10天前
|
Shell
Shell脚本之条件语句if总结
Shell脚本之条件语句if总结