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
tomcat发布脚本的更多相关文章
- 自己写的一个tomcat发布脚本
闲来无事,就自己写一个shell脚本,方便自己以后在服务器上部署tomcat下的项目.我本地用maven打包,然后每次都要人工去切换一堆堆目录,有点繁琐,所以我写了下面的shell脚本. #! /bi ...
- 大型项目linux自动化版本发布脚本(shell)之tomcat、nginx服务脚本
开发十年,就只剩下这套Java开发体系了 >>> 最近,又临近博主所负责的一个大型项目的发版了.之前有提到过,该项目涉及到30-40台服务器的发版.且项目客户规定发版需在晚上10 ...
- linux 配置 tomcat 自动发布脚本
首先将打包好的 war 包(举例 management-20160809-1.0.war),传到 tomcat 的 webapps 目录下,然后在 tomcat 目录下新建 deploy.sh 脚本. ...
- svn-maven-tomcat自动发布脚本
#!/bin/sh #svn-maven-tomcat自动发布脚本 #变量设置 svnpath=svn://10.60.10.120/研发部/xx-maven svnusername=xxx svnp ...
- 【教程】IDEA创建Maven项目并整合Tomcat发布,问题解决大全
一篇入门教程 一.创建项目并运行 参考这个视频,能顺利运行 helloworld ,本人用的 IDEA2020.2.3 .jdk11 .Tomcat9 .Maven3.6 bilibili-IDEA( ...
- 100个Shell脚本——【脚本3】tomcat启动脚本
[脚本3]tomcat启动脚本 一.脚本tomcatd.sh #!/bin/bash # chkconfig:2345 64 36 # description: Tomcat start/stop/r ...
- Tomcat重启脚本restart.sh停止脚本stop.sh
Tomcat重启脚本restart.sh停止脚本stop.sh Tomcat本身提供了 startup.sh(启动)shutdown.sh(关闭)脚本,我们在部署中经常会出现死进程形象,无法杀掉进程需 ...
- Tomcat启动脚本
记录一个比较好的tomcat启动脚本,截取<OneinStack>,修改如下两个参数即可用. 使用之前修改下面2个参数: #Location of JAVA_HOME (bin files ...
- Eclipse修改Tomcat发布路径以及的配置多个Tomcat方法
最近放弃了使用Myeclipse,转而使用eclipse作为开发工具,确实Myeclipse集成了太多东西,使得开发人员的配置越来越少,这 不是个好事,使用eclipse后,有些地方就得自己去配置,比 ...
随机推荐
- GSM07.10协议中串口复用的注意事项
DLCI:0通道(地址域中DLCI==0)是控制通道,用来传输管理信息.逻辑通道的建立和关闭,睡眠模式的启动和唤醒,流量控制等控制信息都是用该通道. DLCI:1~n通道是逻辑通道,用来传输用户数据. ...
- HTML <input type="file">上传文件——结合asp.net的一个文件上传示例
HTML的代码:(关键是要在form里设置enctype="multipart/form-data",这样才能在提交表单时,将文件以二进制流的形式传输到服务器) 一. <fo ...
- PYTHON lambda表达式
lambda相当于def定义函数 一一对应
- WindowsForm多窗体、多窗体传值、控件数据绑定--2016年12月8日
多窗体 Show Form1 f1 = new Form1(); f1.Show(); ShowDialog--在父窗体之上 Form1 f1 = new Form1(); f1.ShowDialog ...
- c++ 陷阱
.c89 c90 gnu90 c99 c11 c++98( default ) c++03 c++11 gnu++11 boolC 标准 does not support the boolean da ...
- APM的飞行模式
1.稳定模式Stabilize 稳定模式是使用得最多的飞行模式,也是最基本的飞行模式,起飞和降落都应该使用此模式. 此模式下,飞控会让飞行器保持稳定,是初学者进行一般飞行的首选,也是FPV第一视角飞行 ...
- mysql循环操作
#如果存在jyf_test存储过程则删掉 DROP PROCEDURE IF EXISTS jyf_test; DELIMITER // #创建存储过程 CREATE PROCEDURE jyf_te ...
- pycharm配置字体问题
A scheme with this name already exists or was deleted without applying the changes 解决办法:$cd ~/.PyCha ...
- C#重启IIS指定网站和指定应用程序池
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- tp框架之模板继承
模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区 ...