自定义Tomcat启动脚本

本文介绍了一种使用Bash脚本实现Tomcat自动化部署、重启及日志查看的方法,通过参数控制同步或Web服务器的启动、停止及重启,同时包含进程管理与权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用sh -x 或者set -x、set +x 调试脚本

 1.最开始

#!/bin/bash
#vlees
#2019-1-9

sync_tomcat_home=/jfecctv2g/tomcat_ecctv2g_sync
web_tomcat_home=/jfecctv2g/tomcat_ecctv2g_web
rpc_port=9010

killProt(){
    javaPidList='lsof -i:$rpc_port |grep java'
    kill -9 $javaPidLis
}
opTomcat(){
    SHUTDOWN=$tomcat_home/bin/shutdown.sh
    STARTTOMCAT=$tomcat_home/bin/startup.sh
    case $1 in
    st)
    echo "启动$tomcat_home"
    $STARTTOMCAT
    ;;
    sp)
    echo "关闭$tomcat_home"
    $SHUTDOWN
    ;;
    rst)
    echo "关闭$tomcat_home"
    $SHUTDOWN
    javaPidList='lsof -i:9010 |grep java'
    echo "9010进程号$javaPidList"
    kill -9 $javaPidList
    sleep 3
    echo "启动$tomcat_home"
    $STARTTOMCAT
    ;;
    log)
    cd ${tomcat_home}/logs
    tail -f catalina.out
    ;;
    esac
}

case $1 in
s)
tomcat_home=$sync_tomcat_home
echo "$tomcat_home"
opTomcat $2
;;
w)
tomcat_home=$web_tomcat_home
echo "$tomcat_home"
opTomcat $2
;;
all)
tomcat_home=$sync_tomcat_home
echo "$tomcat_home"
opTomcat $2
echo "等待再2s执行"
sleep 2
tomcat_home=$web_tomcat_home
echo "$tomcat_home"
opTomcat $2
;;
esac


    

2.修改

#!/bin/bash
#vlees
#2019-1-9

sync_tomcat_home=/jfecctv2g/tomcat_ecctv2g_sync
web_tomcat_home=/jfecctv2g/tomcat_ecctv2g_web
rpc_port=9010

killProt(){
	#'lsof -i:$rpc_port |grep java'
	javaPidList= $(lsof -i :$rpc_port | grep "java" | awk '{print $2}')
	kill -9 $javaPidLis
}
opTomcat(){
	SHUTDOWN=$tomcat_home/bin/shutdown.sh
	STARTTOMCAT=$tomcat_home/bin/startup.sh
	case $1 in
	st)
	echo "启动$tomcat_home"
	$STARTTOMCAT
	;;
	sp)
	echo "关闭$tomcat_home"
	$SHUTDOWN
	;;
	rst)
	echo "关闭$tomcat_home"
	$SHUTDOWN
	javaPidList= $(lsof -i :$rpc_port | grep "java" | awk '{print $2}')
	echo "9010进程号$javaPidList"
	killProt
	sleep 3
	echo "启动$tomcat_home"
	$STARTTOMCAT
	;;
	log)
	cd ${tomcat_home}/logs
	tail -f catalina.out
	;;
	esac
}

case $1 in
s)
tomcat_home=$sync_tomcat_home
echo "$tomcat_home"
opTomcat $2
;;
w)
tomcat_home=$web_tomcat_home
echo "$tomcat_home"
opTomcat $2
;;
all)
tomcat_home=$sync_tomcat_home
echo "$tomcat_home"
opTomcat $2
echo "等待再2s执行"
sleep 2
tomcat_home=$web_tomcat_home
echo "$tomcat_home"
opTomcat $2
;;
esac


	

3.第三次修改

#!/bin/bash
#vlees
#2019-1-9
unzipfile=/jfecctv2g_PublishPkg_Tmp*
sync_tomcat_home=/jfecctv2g/tomcat_ecctv2g_sync
web_tomcat_home=/jfecctv2g/tomcat_ecctv2g_web
chmod_tomcat=/jfecctv2g/
rpc_port=9010
javaPidList=`lsof -i :$rpc_port | grep "java" | awk 'NR != 1 {next} {print $2}'`

killProt(){
	#'lsof -i:$rpc_port |grep java'
	if test -z "$javaPidList"  
		then  
			echo "9010 端口没有被占用!"  
		else
			kill -9 $javaPidList
	fi 
}
opTomcat(){
	SHUTDOWN=$tomcat_home/bin/shutdown.sh
	STARTTOMCAT=$tomcat_home/bin/startup.sh
	case $1 in
	st)
	echo "启动$tomcat_home"
	$STARTTOMCAT
	;;
	sp)
	echo "关闭$tomcat_home"
	$SHUTDOWN
	;;
	rst)
	echo "关闭$tomcat_home"
	$SHUTDOWN
	sleep 3
	echo "启动$tomcat_home"
	$STARTTOMCAT
	;;
	log)
	cd ${tomcat_home}/logs
	tail -f catalina.out
	;;
	esac
}
if [ $# -eq 2 ]; then
        echo "参数个数为$#个"
else
        echo "没有参数足够"
		exit -2
fi
if [ ! -f $unzipfile ];then
	echo "文件不存在,执行操作"
else
	unzip -o $unzipfile
	sleep 2
	rm -rf $unzipfile
fi
	chmod +755 -R $chmod_tomcat
case $1 in
s)
	tomcat_home=$sync_tomcat_home
	echo "$tomcat_home"
	opTomcat $2
	;;
w)
	echo "9010进程号为:"$javaPidList
	killProt
	tomcat_home=$web_tomcat_home
	echo "$tomcat_home"
	opTomcat $2
	;;
all)
	echo "9010进程号为:"$javaPidList
	killProt
	tomcat_home=$sync_tomcat_home
	echo "平台地址:$tomcat_home"
	opTomcat $2
	echo "等待再2s执行"
	sleep 2
	tomcat_home=$web_tomcat_home
	echo "同步地址:$tomcat_home"
	opTomcat $2
	;;
esac


	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值