分享一例脚本发版和tomcat重启脚本

2024-01-28 10:32

本文主要是介绍分享一例脚本发版和tomcat重启脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

线上有个网站业务部署在tomcat上,由于频繁上线修改,需要经常启动tomcat。
tomcat服务自带的bin下没有重启脚本,下面分享一例脚本发版和tomcat重启脚本:

1)现将业务代码从svn里下载到本地,首次下载后,后续就使用svn update更新代码即可。
     发版脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@redmine ~] # cd /Data/webroot_svncode/xqsj_app/banshanbandao/bsbd_war/
[root@redmine bsbd_war] # ls
ROOT.war
[root@redmine xqsj_app] # cat up_pub_online_banshanbandao.sh
#!/bin/bash
REMOTE_SERVER_IP= "192.168.1.106 192.168.1.220"
DEST_DIR= "/Data/app/tomcat-7-banshanbandao/webapps/"
cd /Data/webroot_svncode/xqsj_app/banshanbandao/bsbd_war/
/usr/bin/svn update
for SERVER in ${REMOTE_SERVER_IP}; do
/usr/bin/ssh -p22 ${SERVER} "rm -rf /Data/app/tomcat-7-banshanbandao/webapps/*" ;
/usr/bin/rsync -av -e "/usr/bin/ssh -p22" -- rsync -path= "/usr/bin/rsync" --progress /Data/webroot_svncode/xqsj_app/banshanbandao/bsbd_war/ROOT .war ${SERVER}:${DEST_DIR};
sleep 15
/usr/bin/ssh -p22 ${SERVER} "/bin/sh /Data/app/tomcat-7-banshanbandao/start.sh" ;
done  

2)目标机器192.168.1.106

1
2
3
[root@web1 ~] # cd /Data/app/tomcat-7-banshanbandao/webapps/
[root@web1 webapps] # ls
ROOT  ROOT.war

tomcat重启脚本(脚本中将dbconfig.properties配置文件事先准备好,以后每次上线后,配置文件保持不变!因为svn里上线代码中的配置都是开发基于本机的配置

1
2
3
4
5
6
7
8
9
10
11
12
[root@web1 webapps] # cat /Data/app/tomcat-7-banshanbandao/start.sh
#!/bin/bash
cd /Data/app/tomcat-7-banshanbandao/
kill -9 ` ps -ef| grep java| grep - v grep | grep banshanbandao | awk -F " " '{print $2}' `
rm -rf temp/*
rm -rf work/*
\ cp -rf dbconfig.properties webapps /ROOT/WEB-INF/classes/
export JAVA_HOME= "/usr/java/jdk1.7.0_79"
/bin/sh bin /startup .sh

---------------------------------------------------------------------------------------
上述脚本中的:
kill -9 `ps -ef|grep java|grep -v grep|grep banshanbandao |awk -F" " '{print $2}'`
可以替换为:
ps -ef|grep java|grep -v grep|grep banshanbandao |awk -F" " '{print $2}'|xargs kill -9
---------------------------------------------------------------------------------------

重启tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[root@web1 ~] # ps -ef|grep tomcat
root      5759     1  0 Oct31 ?        00:20:09 /usr/java/jdk1 .7.0_79 /bin/java -Djava.util.logging.config. file = /Data/app/tomcat-7-banshanbandao/conf/logging .properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1024m -Xmx2048m -XX:MaxNewSize=512m -XX:PermSize=2048M -XX:MaxPermSize=2048m -Djava.endorsed. dirs = /Data/app/tomcat-7-banshanbandao/endorsed -classpath /Data/app/tomcat-7-banshanbandao/bin/bootstrap .jar: /Data/app/tomcat-7-banshanbandao/bin/tomcat-juli .jar -Dcatalina.base= /Data/app/tomcat-7-banshanbandao -Dcatalina.home= /Data/app/tomcat-7-banshanbandao -Djava.io.tmpdir= /Data/app/tomcat-7-banshanbandao/temp org.apache.catalina.startup.Bootstrap start
root     19549 16881  0 18:06 pts /0    00:00:00 grep --color=auto tomcat
[root@web1 ~] # ps -ef|grep java|grep -v grep|grep banshanbandao |awk -F" " '{print $2}'
5759
[root@web1 ~] # /bin/sh -x /Data/app/tomcat-7-banshanbandao/start.sh
+ cd /Data/app/tomcat-7-banshanbandao/
++ ps -ef
++ grep java
++ grep - v grep
++ grep banshanbandao
++ awk '-F ' '{print $2}'
+ kill -9 19707
+ rm -rf 'temp/*'
+ rm -rf work /Catalina
+ cp -rf dbconfig.properties webapps /ROOT/WEB-INF/classes/
+ export JAVA_HOME= /usr/java/jdk1 .7.0_79
+ JAVA_HOME= /usr/java/jdk1 .7.0_79
+ /bin/sh bin /startup .sh
Using CATALINA_BASE:   /Data/app/tomcat-7-banshanbandao
Using CATALINA_HOME:   /Data/app/tomcat-7-banshanbandao
Using CATALINA_TMPDIR: /Data/app/tomcat-7-banshanbandao/temp
Using JRE_HOME:        /usr/java/jdk1 .7.0_79
Using CLASSPATH:       /Data/app/tomcat-7-banshanbandao/bin/bootstrap .jar: /Data/app/tomcat-7-banshanbandao/bin/tomcat-juli .jar
Tomcat started.
[root@web1 ~] # ps -ef|grep tomcat
root     19859     1 99 18:07 pts /0    00:00:05 /usr/java/jdk1 .7.0_79 /bin/java -Djava.util.logging.config. file = /Data/app/tomcat-7-banshanbandao/conf/logging .properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1024m -Xmx2048m -XX:MaxNewSize=512m -XX:PermSize=2048M -XX:MaxPermSize=2048m -Djava.endorsed. dirs = /Data/app/tomcat-7-banshanbandao/endorsed -classpath /Data/app/tomcat-7-banshanbandao/bin/bootstrap .jar: /Data/app/tomcat-7-banshanbandao/bin/tomcat-juli .jar -Dcatalina.base= /Data/app/tomcat-7-banshanbandao -Dcatalina.home= /Data/app/tomcat-7-banshanbandao -Djava.io.tmpdir= /Data/app/tomcat-7-banshanbandao/temp org.apache.catalina.startup.Bootstrap start
root     19883 16881  0 18:07 pts /0    00:00:00 grep --color=auto tomcat
***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************

这篇关于分享一例脚本发版和tomcat重启脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653366

相关文章

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文