快捷重启Tomcat的部署命令sh文件restart.sh-超好用超实用

一、前言

每次重启Tomcat,需要使用命令sh start.sh,这种官方自带的不会先关闭,也不会清除缓存。

大厂在用的快捷重启Tomcat的部署文件sh restart.sh,有以下功能:

  • 先关闭Tomcat
  • 清空work目录缓存
  • 启动Tomcat
  • 查看最新Tomcat日志

如图:
在这里插入图片描述

二、源码

复制保存文件,记得修改user。

#!/bin/bash

export LANG=zh_CN.GB18030
path=$(dirname -- $(readlink -f -- "$0"))
cd $path
timestamp=$(date +%Y%m%d_%H%M);
user="root";
sleeptime=3;

tomcat=$(pwd|awk -F'/' '{print $(NF-1)}')
#host=$(cat ./root.xml|grep serverName|awk -F"[<>]" '{print $3}' >/dev/null 2>&1)
###############################################################################################
#检查用户
function checkUser
{
    username=$(whoami)
    if [ "$username" != "$user" ]; then
        echo "本程序只能以$user用户执行!"
        exit 1;
    fi
}

function clearWork
{
    echo -n "清空work目录......"
    rm -rf $path/../work/Catalina/* && echo "OK!"
    #mv $path/../logs/catalina.out $path/../logs/catalina.out.$timestamp >/dev/null 2>&1;
}

function showStatus
{
    pid=$(ps -ef |grep "\<$tomcat\>"|grep -v grep|grep -v 'bash'|awk '{print $2}')
    name=$(ps -ef |grep "\<$tomcat\>"|grep -v grep|grep -v 'bash'|awk -F'home=' '{print $2}'|awk '{print $1}')
        echo -n "进程ID:$pid   容器路径:$name"
}
function shutdownApp
{
    echo -n "shutdown应用......"
    showStatus
    ./shutdown.sh >/dev/null 2>&1
    sleep $sleeptime
    kill -9 $pid >/dev/null 2>&1 
    echo "......OK!"
    clearWork
}

function startApp
{
    echo -n "startup应用......."
    ./startup.sh >/dev/null 2>&1
    sleep $sleeptime;
    showStatus
    echo "......OK!"
    echo ""
    echo "应用最新日志:"
    echo ""
    tail -n 200 $path/../logs/catalina.out
    echo ""
    echo "tail -n 200 $path/../logs/catalina.out"
}

#clear
echo "*********************** 当前应用:$host ***************************"
checkUser
shutdownApp;
startApp;
exit;

如果执行报权限不足(Permission denied),则先执行以下命令授权:

chmod 777 restart.sh
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值