`

自动修改war配置文件,自动部署

阅读更多
##打开war文件
rm -rf /upload/app/temp
mkdir /upload/app/temp
cd /upload/app/temp
cp /upload/app/SCM.war /upload/app/temp/
jar xvf /upload/app/temp/SCM.war
rm -rf /upload/app/temp/SCM.war
##拷贝配置文件
sh /upload/config.sh

##重新打包
cd /upload/app/temp
jar -cvfM0 /upload/app/temp/dabichong.war  ./*

##备份文件到/upload/app_bak
##jar -cvfM0 dabichong.war  /usr/share/tomcat/apache-tomcat-7.0.22/
cp /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong.war /upload/app_bak/dabichong_$(date +%Y%m%d-%H%M%S).war
rm -rf /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong.war
rm -rf /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong

##重启tomcat
sh /usr/share/tomcat/apache-tomcat-7.0.22/bin/shutdown.sh
cp /upload/app/temp/dabichong.war /usr/share/tomcat/apache-tomcat-7.0.22/webapps/dabichong.war
sh /usr/share/tomcat/apache-tomcat-7.0.22/bin/startup.sh



==================config.sh========================
cp -r -f /upload/config/open.top.properties  /upload/app/temp/WEB-INF/classes/com/hupun/scm/top/open.top.properties


=================备份脚本============================

tomcat_path=/home/apache-tomcat-7.0.22
upload_path=/upload
upload_app_path=${upload_path}/app
back_db_path=${upload_path}/sql
alter_db_bak_path=${upload_path}/sql_bak
alter_sql_file=${upload_app_path}/alter_$(date +%Y_%m_%d).sql

##备份文件到${upload_app_path}_bak
cp ${tomcat_path}/webapps/scm.war ${upload_app_path}_bak/scm_$(date +%Y%m%d-%H%M%S).war
echo 'app backup ok'


##备份数据库文件
sh ${back_db_path}/backupDb.sh
echo 'backup ok'

##判断当天的更新脚本是否存在
if [ -f "$alter_sql_file" ]; then
  echo "$alter_sql_file exist add sql"
  mysql -uxxxx -pxxxx scm_xxxx < $alter_sql_file
  cp -rf $alter_sql_file $alter_db_bak_path/alter_$(date +%Y%m%d-%H%M%S).sql
  rm -rf $alter_sql_file
  echo '---------update db ok----------'
else
  echo "---------not exist alert sql-------"
fi


-----------------------ftp拉去文件脚本ftpGet.sh---------------------------


#!/bin/sh
F="xxxx.ftp"
echo "open hupun.xxxx.xxxx 21"     > $F
echo "user hupun xxxx"     >> $F
echo "bin"                      >> $F
#echo "cd /upload/app"            >> $F
echo "mget $1 $2 $3"                  >> $F
echo "bye"                      >> $F
ftp  -in < $F
rm -rf $F


---------------------------ftpPut.sh-------------------------

#!/bin/sh
F="xxxx.ftp"
echo "open hupun.xxx.xxxx 21"     > $F
echo "user hupun xxxx"     >> $F
echo "bin"                      >> $F
#echo "cd /upload/app"            >> $F
echo "mput $1 $2 $3"                  >> $F
echo "bye"                      >> $F
ftp  -in < $F
rm -rf $F


==================================最新备份脚本==========================

tomcat_path=/home/apache-tomcat-7.0.22
upload_path=/upload
upload_app_path=${upload_path}/app
back_db_path=${upload_path}/sql
alter_db_bak_path=${upload_path}/sql_bak
alter_sql_file=${upload_app_path}/alter_bus_$(date +%Y_%m_%d).sql
app_file=wanliniu
upload_app_temp_path=/upload/app_bak/bak_temp
app_bak_path=/upload/app_bak

##备份war文件到${upload_app_path}_bak
##cp ${tomcat_path}/webapps/${app_file}.war ${upload_app_path}_bak/${app_file}_$(date +%Y%m%d-%H%M%S).war

##直接备份系统执行的包
rm -rf ${upload_app_temp_path}
mkdir ${upload_app_temp_path}
##拷贝文件
cp -a ${tomcat_path}/webapps/${app_file}/* ${upload_app_temp_path}/

cd ${upload_app_temp_path}
##压缩
jar -cvfM0 ${app_bak_path}/${app_file}_file_$(date +%Y%m%d-%H%M%S).war  ./*
cd ${upload_app_path}
echo 'app backup ok'


##备份数据库文件
sh ${back_db_path}/backupDb.sh
echo 'backup ok'

##判断当天的更新脚本是否存在
if [ -f "$alter_sql_file" ]; then
  echo "[warn]only update bus cur bus db:  you must check!!!!"
  echo "$alter_sql_file exist add sql"
  mysql -uroot -pxxxx -hxxx.xxx.xxx.xxx db_1 < $alter_sql_file
  mysql -uroot -pxxxx -hxxx.xxx.xxx.xxx db_2 < $alter_sql_file
  cp -rf $alter_sql_file $alter_db_bak_path/alter_bus_$(date +%Y%m%d-%H%M%S).sql
  rm -rf $alter_sql_file
  echo '---------update bus db ok----------'
else
  echo "---------not exist alert bus update sql-------"
fi


==================================================================

1.linux kill tomcat shell 脚本

#!/bin/sh
#kill tomcat pid
pidlist=`ps -ef|grep tomcat | grep -v "grep"|awk '{print $2}'`
#ps -u $USER|grep "java"|grep -v "grep"
echo "tomcat Id list :$pidlist"
if [ "$pidlist" = "" ]
then
  echo "no tomcat pid alive"
else
  for pid in ${pidlist}
{
   kill -9 $pid
echo "KILL $pid:"
echo "service stop success"
  }
fi



如果有提示 一个什么什么错误可以在

vi命令模式

原因这通常都是由于windows下对文本文件的保存格式与unix下不同造成的,windows下回车的字符是’\r\n’,而linux下是’\n’。2 解决方法vi file在命令模式下,输入 setff=? ,查看文件格式为dos或者unix,如:setff=unixw保存,即可



2.linux kill某一用户的所有tomcat进程

start.sh

#!/bin/sh

PRG="$0"
while [ -h "$PRG" ]; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done

# Get standard environment variables
PRGDIR=`dirname "$PRG"`
TMS_HOME=`cd "$PRGDIR"/.. ; pwd`
$JAVA_HOME/bin/java -jar $TMS_HOME/bin/tms.jar

stop.sh

ps aufx|grep tomcat|grep 509|awk '{print $2}'|xargs kill -9  或

ps -ef|grep tms.jar|grep -v grep|awk '{print $2}'|xargs kill

509替换为要kill的用户名

有时直接用shutdown.sh关闭不了tomcat,要强制kill掉,但是可能tomcat启动了多次,进程里已经有了多个tomcat进程,一个一个关闭相当麻烦,可以使用以上命令一次性关闭某一个用户所有tomcat进程。



start.bat

@echo off
::cd %~dp0
echo Start Server ...
java -jar "%~sdp0tms.jar"
分享到:
评论

相关推荐

    jenkins部署war配置

    本文详细介绍了如何使用Jenkins进行WAR包的自动化部署,包括环境搭建、插件安装、配置管理以及WAR包的自动化发送过程。通过以上步骤,可以实现WAR包的自动化构建和部署,提高开发效率,减少人工错误。希望本文能够...

    maven自动部署war包到tomcat.doc

    "Maven自动部署WAR包到Tomcat" Maven自动部署WAR包到Tomcat是将Maven项目打包成WAR包并自动部署到Tomcat服务器的过程。下面是该过程的详细步骤: 步骤一:配置Tomcat 在Tomcat安装目录下找到tomcat-users.xml文件...

    tomcat中部署war文件,通过输入ip访问

    在Tomcat的`conf`目录下有一个名为`server.xml`的配置文件,其中包含了Tomcat的各种配置信息。为了让用户可以通过IP地址直接访问Web应用,我们需要修改这个文件中的端口号配置。 打开`server.xml`文件,在`...

    各服务器部署war

    9. **部署流程**:部署WAR文件的基本步骤包括:创建WAR文件、配置服务器(如设置环境变量、修改服务器配置文件)、将WAR文件上传至服务器、启动或重启服务器以加载新应用。 10. **服务器配置**:每个服务器都有其...

    Linux 多tomcat服务 统一安装 统一部署 工具 shell编写 自动化部署与统一安装升级 - 类ansible工具

    /unifyDeploy/conf”自动生成用户所需修改配置文件,配置文件是通过筛选后生成,所以一个服务不管需要配置多少文件,这里只生成一个,方便修改与管理。 3.2 自动化统一安装部署 自动化统一安装部署,包括:...

    geoserver,2.20.4,版本war部署包

    WAR(Web Application Archive)是Java Web应用的标准打包格式,包含了所有的类、资源、配置文件以及Web应用所需的其他元素。将GeoServer作为WAR文件部署,意味着可以将其作为一个独立的服务在Web服务器上运行,...

    Tomcat 部署 war 源文件 springmvc_war.zip

    - `server.xml`:Tomcat的主要配置文件,可以在这里修改端口号、上下文路径等。如果需要更改应用的部署路径,可以在`conf/server.xml`的`&lt;Host&gt;`元素内添加`&lt;Context&gt;`元素。 6. **日志和错误排查**:在`logs`目录...

    eclipse自动部署工具

    你可以设定在构建完成后自动部署更新的war或ear文件,这样每次构建成功,服务器上的应用也会即时更新,便于测试和调试。 总之,“ForceFileSynchronic”是一个强大的自动部署工具,它简化了J2EE项目的部署流程,让...

    jenkins+maven+svn自动化部署安装配置.docx

    在Java开发过程中,经常会遇到繁琐且重复的工作流程,比如新功能开发完成后进行测试、修改配置文件、打包以及发布等步骤。为了提高工作效率并减少人为错误,自动化部署成为一种重要的解决方案。本文将详细介绍如何...

    Disconf配置war包

    2. 修改Disconf的配置文件,如`conf/application.properties`,配置数据库连接信息、服务地址等。 3. 配置Disconf客户端,添加相关依赖,并在应用中引入Disconf客户端SDK。 4. 将应用的配置文件上传至Disconf服务器...

    war包解压工具

    1. `WEB-INF`目录:这是`WAR`文件的核心部分,包含了Web应用的配置文件和类文件。 - `web.xml`:部署描述符,定义了Web应用的元数据,如Servlet、过滤器和监听器的配置。 - `classes`目录:存放编译后的Java类文件...

    flowable官方提供的6.4.0和6.7.2的Tomcat部署的war包

    在给定的压缩包文件中,包含了两个不同版本的Flowable,分别是6.4.0和6.7.2,这两个版本都是针对Tomcat服务器进行部署的WAR包。 首先,我们来了解一下Tomcat。Tomcat是一款轻量级的应用服务器,主要用于运行Java ...

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    在自动化部署中,Maven 负责编译源代码、运行测试、打包应用为可部署的JAR或WAR文件。 3. **Gitlab**:Gitlab 是一个用于版本控制和协作的代码托管平台,支持Git仓库管理和持续集成/持续部署(CI/CD)。在这里,...

    hudson+sonar自动部署配置

    【Hudson + Sonar 自动部署配置】 在 IT 领域中,自动化部署和质量分析是提升开发效率和保证代码质量的关键环节。Hudson 和 Sonar 是两款强大的工具,分别用于持续集成和代码质量管理。本文将详细介绍如何配置 ...

    Jenkins自动化构建部署说明文档

    - **配置文件**: 修改Tomcat的配置文件,添加角色和用户信息以便Jenkins能够进行远程部署。 - 角色配置示例: ```xml ``` - 用户配置示例: ```xml ,manager-script,manager-jmx,manager-status" ...

    Red5-1.0-Final集成到tomcat的配置文件和打好的war可直接使用

    4. **配置环境**:虽然Red5的WAR文件可以自动部署,但可能还需要配置一些环境变量,比如JVM参数、系统属性等。这通常可以通过修改Tomcat的"setenv.sh"(对于Unix/Linux)或"setenv.bat"(对于Windows)脚本来完成。 ...

    springboot-war打包部署.doc

    - **WAR包大小**:WAR包由于包含了更多的静态资源和配置文件,通常比JAR包大。 - **部署灵活性**:WAR包的部署更为灵活,可以通过多种方式部署到不同的Web容器中,而JAR包只能通过内置的嵌入式容器运行。 - **版本...

    jenkins实现maven项目自动部署到tomcat

    Maven是Java开发中广泛使用的构建工具,它通过配置文件pom.xml管理项目依赖,自动编译、测试和打包项目。在团队协作中,Maven有助于保持项目的整洁和一致性。 **2. Jenkins介绍** Jenkins是一款开源的持续集成(CI)...

    Jenkins 自动部署

    以下将详细介绍如何使用Jenkins进行自动部署。 1. 安装Jenkins Jenkins 可以通过安装包或WAR包在Windows上部署。安装包适用于Windows环境,而WAR包适用于手动配置服务器环境。安装过程简单,只需下载相应版本,...

Global site tag (gtag.js) - Google Analytics