tomcat发布脚本

#!/bin/bash

#发布相关目录
Tomcat_log=‘/home/CodePub/tomcatlog‘
dev_package=‘/home/CodePub/package‘
old_package=‘/home/CodePub/oldpackage‘
tomcat_dir=‘/home/zoumi/youximao/tomcat‘ #修改
tomcat_start_dir=‘/home/zoumi/youximao/tomcat/bin‘ #修改
Mysqllog=‘/home/CodePub/mysqllogs‘
Mysqlbackup=‘/home/CodePub/Mysqlbackup‘

cd /home #可能需要更改
if [ -d CodePub ];then
if [ ! -d tomcatlog ]
then
mkdir tomcatlog
chmod 775 tomcatlog
fi

if [ ! -d package ]
then
mkdir package
chmod 775 package
fi

if [ ! -d oldpackage ]
then
mkdir oldpackage
chmod 775
fi

if [ ! -d mysqllogs ]
then
mkdir mysqllogs
chmod 775 mysqllogs
fi
else
mkdir CodePub
chmod 775 CodePub
cd /home/CodePub #可能需要更改
mkdir tomcatlog package oldpackage mysqllogs
chmod 775 tomcatlog package oldpackage mysqllogs
fi

#用户需要修改的参数 数据库连接参数
User=‘root‘
Port=‘3306‘
Passwd=‘123456‘
Time="$(date +"%Y%m%d%H%M%S")"

echo "please input update or return"
echo "update input 1"
echo "return input 2"
read -p "please input release type :" type

update(){
$tomcat_start_dir/shutdown.sh &> /dev/null;sleep 5
process="$(ps aux | grep tomcat | grep "$tomcat_start_dir" | awk ‘{print $2}‘)"
for ps in $process
do
if [ -n "$ps" ];then
kill -9 $ps
fi
done
redis="$(ps aux | grep redis | grep "/usr/local/bin/" | awk ‘{print $2}‘)"
for RD in $redis
do
kill -9 $RD
done

cd $tomcat_dir
tar -zcpvPf $old_package/$Time.tar.gz $tomcat_dir/webapps/* >> $Tomcat_log/tomcat-tar-$Time.log
echo "Input new develop package"
read -p "please input package_name:" package_name
echo "Input new database script"
read -p "please input script_name:" script_name
if [ -n "$script_name" ]
then
echo "----------开始执行数据库脚本文件----------"
mysql -u $User -P $Port -p$Passwd -Bse ‘source /home/zoumi/‘$script_name‘‘ > $Mysqllog/mysql-$Time.log
echo "-----------截取Tomcat启动日志50S-----------"
fi
yes | cp -fr /home/zoumi/$package_name $tomcat_dir/webapps/ #发布包目录位置,可能需要修改
$tomcat_start_dir/startup.sh
tail -f $tomcat_dir/logs/catalina.out > $Tomcat_log/tomcat-up-$Time.log &
sleep 50
taps="$(ps aux | grep tail | grep "$tomcat_dir/logs/catalina.out" | awk ‘{print $2}‘)"
if [ -n "$taps" ];then
kill -9 $taps
fi

/usr/local/bin/redis-server --port 6379 &
/usr/local/bin/redis-server --port 8888 &
# cat $Tomcat_log/tomcat-up-$Time.log | grep "error"
}

Return(){
$tomcat_start_dir/shutdown.sh &> /dev/null
read -p "please input this yasuo oldpackage" ago_package
tar -zxPf $old_package/$ago_package -C /home/zoumi/youximao/tomcat/webapps/
/home/zoumi/youximao/tomcat/bin/startup.sh >> /home/tomcat-oldup-$Time.log
cat $Tomcat_log/tomcat-oldup-$Time.log | grep "error"
}

case "$type" in
"1")
update
;;

"2")
Return
;;

*)
echo "Input error!"
esac
exit 0

时间: 2024-10-28 11:46:30

tomcat发布脚本的相关文章

Tomcat pool 发布脚本

首先这边是乙方,项目多,系统多.新上线的项目都是脚本去做发布,早上又赶了套脚本. 之前公司有兄弟运行了下面这套脚本未加参数,说静态资源未发成功,tomcat 和发布系统的agent反而给干没了,于是又做了点优化,加了参数判断. $ cat copy_h5_mall_new.sh  #!/bin/sh #copy h5 mall nginx_static_ip=10.10.13.37 time_stamp=`date +"%Y-%m-%d-%H-%M-%S"` h5_mall_zip_n

bash实战篇-数组在工作中的实际应用(测试环境发布脚本)

数组在之前已经用过介绍,下面介绍其在工作中的一个实际功用 出现的工作背景: 公司测试环境的tomcat的webapps下有3个项目,如果按通常的发布脚本,需要为每一个项目单独写一个发布脚本,我感觉太过麻烦,就想能否用一个脚本搞定这3个项目,最开始是在脚本里面定义三个变量获取相应的包名,之后对上传的目录进行判断,若该包存在则发布:虽然实现了,可过程有点繁琐,而且定义的变量是写死的,今后若有需求复用的话还需要额外进行修改,很是麻烦,近期在复习数组时突然想起数组功用,发现使用数组加for循环只需要几行

发布脚本

JAVA灰度发布脚本 #!/bin/bash # 设置时间变量 CTIME=$(date "+%Y-%m-%d-%H-%M") # 项目名称,建议和gitlab仓库名称一致 project= # 本地代码目录(gitlab拉取代码后存放目录) CODE_DIR=/data/gitlab/"$project" # 临时代码目录,用来修改配置文件和编译打包代码 TMP_DIR=/data/tmp/"$project" # 用来存放war包 WAR_D

maven更新总结与tomcat发布方法总结

这些天来一直为不能直接把项目实时的发布到tomcat而费心思,项目使用了maven来组织,编译和运行,而maven插件的安装曾经有些问题,为此怀疑不能发布项目到tomcat是因为maven有问题,为些专门去搜集资料详细了解maven的安装,最后到官方网站去了解(因为有些网友啊,水平也不怎么样的,说的一些经验有一定的局限性,他们也只是针对他们的具体问题做出了具体的解决方法,不能怪他们),这里不得不提下maven插件的更新地址,共有3个分别如下: http://m2eclipse.sonatype.

tomcat发布web应用注意项

tomcat发布web应用注意项 不在tomcat目录下的项目采用上下文的方法发布 <Context path="/虚拟路径" docBase="物理路径" > 注意:我刚学习java,是个小白 .  自己把Context写成了小写的,怎么访问都不行,后来才发现.所以在这里给自己也是给初学者提个醒.这里是区分大小写的.

Tomcat发布项目但是webapps下没反应

1.问题 项目发布了但是webapps下面什么都没有 2.原因 大多是Tomcat的路径设置不对 3.解决 第一步:关掉服务器 第二步:把项目从tomcat下面delete,然后再 publish 第三步:参照下图看Server Locations和Server Options对不对.即可 Tomcat发布项目但是webapps下没反应,布布扣,bubuko.com

tomcat发布web项目的三种方式

tomcat发布web项目的三种方式 方式一: 配置tomcat 安装目录下的conf/server.xml <Host name="loaclhost">标签里面添加 <Context path="/aa" docBase="C:\AA\BB" /> 即/aa这个虚拟路径映射到了C:\AA\BB目录下,修改完servler.xml需要重启tomcat服务器 方式二: 在conf目录下创建Catalina目录,在此目录下新

Tomcat 发布war包提示war包超出大小修改

error信息: java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (55916489) exceeds the configured maximum (52428800)原因:war包超出了上线50MB修改方法:tomcat/weba

静态资源发布脚本升级版

新项目新发布静态资源脚本 #!/bin/bash ########h5_mall发布脚本### #此脚本不需要加任何参数,直接运行发布h5_mall静态资源 # ############################### nginx_static_ip=10.18.2.190 tmp_time=`date +%Y-%m-%d-%H-%M-%S` remote_ip=10.18.3.200 ####过滤出最新的h5_mall静态资源####### war=`ssh ${remote_ip} "