Linux环境下编写shell脚本实现部署启动停止tomcat服务的方法

1 篇文章 0 订阅
1 篇文章 0 订阅

参考链接:

https://blog.csdn.net/weixin_43738524/article/details/84662927

https://blog.csdn.net/zglwy/article/details/53084734

  1. 首先编写这个shell脚本需要使用到的一个语法是shell中的case用法,用法示例如下:

    #!/bin/sh
    echo "Is it morning?"
    # 接收一个输入的值,引用这个值时需要带上$符号,如果后面拼接其他内容,则要使用花括号进行限位,如{$data}
    read data
    case "$data" in
    	yes|Yes|YES|y) echo "Good Morning.";;
    	[Nn]*)         echo "Good Afternoon.";;
    	*)             echo "Sorry, answer is not true.";;
    esac
    exit 0
    

    case命令会对用来做比较的字符串进行正常的通配符扩展,因此你可以指定字符串的一部分并在其后加上一个 * 通配符。只使用一个单独的 * 表示可以匹配任何可能的字符串,因此末尾可以放上一个 *,这相当于C语言中的default语句。
    在第二个【Nn】*中,表示任何以N或n开头的单词,都会匹配这一句并执行,输出Good Afternoon。
    此外,每一条语句的末尾应该是两个分号!

  2. case 语句的结构特点

    • case行尾必须为单词 in 每个模式必须以右括号 ) 结束
    • 双分号 ;; 表示命令序列结束
    • 匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或最后的“)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“)”后的命令序列
  3. 了解以上几个知识点之后,我们就可以开始编写这个用于实现部署、启动、停止tomcat服务的shell脚本了。

    #!/bin/bash 
    tomcat_home=/home/bouser/backoffice/tomcat8
    SHUTDOWN=$tomcat_home/bin/shutdown.sh 
    STARTTOMCAT=$tomcat_home/bin/startup.sh 
    echo $2 $1 $tomcat_home
    #pidlist1=`ps -ef |grep tomcat |grep -v "grep"|awk '{print apache-tomcat-7.0.59_$2}'
    #echo $pidlis1t1
    case $1 in 
    deploy)
    echo "关闭$tomcat_home"
    $SHUTDOWN 
    sleep 5
    echo "正在删除原来的 $tomcat_home"
    rm $tomcat_home/logs/* -rf 
    #删除tomcat的临时目录 
    rm $tomcat_home/work/* -rf
    #删除原来的War包
    rm -rf $tomcat_home/webapps/backoffice 
    rm -rf $tomcat_home/webapps/backoffice.war
    sleep 2
    echo "正在拷贝war包..."
    cp backoffice.war $tomcat_home/webapps/
    sleep 3
    $STARTTOMCAT 
    tail -f $tomcat_home/logs/catalina.out
    ;;
    
    start) 
    echo "启动$tomcat_home"
    $STARTTOMCAT 
    tail -f $tomcat_home/logs/catalina.out
    ;;
    
    stop) 
    echo "关闭$tomcat_home"
    $SHUTDOWN 
    #pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print apache-tomcat-7.0.59_$2}'`  
    #kill -9 $pidlist 
    #删除日志文件,如果你不先删除可以不要下面一行 
    rm $tomcat_home/logs/* -rf 
    #删除tomcat的临时目录 
    rm $tomcat_home/work/* -rf 
    ;;
    
    restart) 
    echo "关闭$tomcat_home"
    $SHUTDOWN 
    #pidlist=`ps -ef |grep tomcat |grep -v "grep"|awk '{print $2}'` 
    #kill -9 $pidlist 
    #删除日志文件,如果你不先删除可以不要下面一行 
    rm $tomcat_home/logs/* -rf 
    #删除tomcat的临时目录 
    rm $tomcat_home/work/* -rf 
    #休眠5秒
    sleep 5 
    echo "启动$tomcat_home"
    $STARTTOMCAT 
    #看启动日志 
    tail -f $tomcat_home/logs/catalina.out 
    ;;
    
    logs) 
    cd $tomcat_home/logs
    tail -f catalina.out 
    ;; 
    esac
    
  4. 执行

    #关停tomcat服务器
    [bouser@cnot081 ~]$ ./tomcat.sh stop
    

    但是这时候可能会出现权限不足的提示 Permission denied:

    在这里插入图片描述

  5. 出现4上面所提示权限不足的问题,我们只要对这个文件更改权限,然后再执行4中的操作即可。

    [bouser@cnot081 ~]$ chmod tomcat.sh
    
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值