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后,有些地方就得自己去配置,比 ...
随机推荐
- liniux mint android-ndk风波
我的安装过程sudo chmod a+x android-ndk-r10d-linux-x86_64.bin/dowonload $ ./android-ndk-r10d-linux-x86_64.b ...
- 获取本地的IP地址(内网)
方法一 public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = N ...
- IDEA tomcat乱码
在运行/调试 配置对话框的Startup/Connection面板中, 勾选Pass environment variables. 并添加一个environment variable, Name填 J ...
- iOS企业分发证书制作
自签名证书制作流程 打开终端,输入 openssl genrsa - ,生成名称为ca的秘钥 注:openssl生成的文件皆放在用户文档下(finder菜单栏'前往' - 电脑 -Macintosh ...
- STL heap usage
简介 heap有查找时间复杂度O(1),查找.插入.删除时间复杂度为O(logN)的特性,STL中heap相关的操作如下: make_heap() push_heap() pop_heap() sor ...
- shell 输出九九乘法表
#/bin/bash i= j= )) do while(($j<=$i)) do echo -ne $j×$i=$[$j*$i]"\t" j=$[$j+] done ech ...
- Spring + Jedis集成Redis(集群redis数据库)
前段时间说过单例redis数据库的方法,但是生成环境一般不会使用,基本上都是集群redis数据库,所以这里说说集群redis的代码. 1.pom.xml引入jar <!--Redis--> ...
- libsvm数据处理初略流程
- *使用while循环遍历数组创建索引和自增索引值
package com.chongrui.test;/* *使用while循环遍历数组 * * * */public class test { public static void main ...
- js加解密字符串
项目中经常会有url带参并取参数值的问题,最常见的就是登录后再回到原来的页面redirect_uri,我们通常会使用 encodeURIComponent() 转码,当然简单的可以这样使用,如果涉及到 ...