使用shell 一次执行,将项目中的war包的配置全部修改

#!/bin/bash
#-----------------------------------------------
# FileName: deployWAR.sh
# Reversion: 1.5
# Date: //
# Author: zhengwenqiang
# Email: zhengwenqiang@bonc.com.cn
# Description: change the properties of the essential configuration file, it means that before you startup tomcat to run those three apps etc cas,portal,security
#                it's vital to run this script which bring the proccess running normally.
# Notes: If you are going execute this script on linux, you should  run the command "sed -i 's/\r//g' getwar.sh"
#         to delete invalid character which cause character error.
# Changes: solve the error caused by default-schema configuration.
# Copyright: (c) zhengwenqiang
# License: GPL
#-----------------------------------------------

#cd `)`

# configure Cas
conf='conf.properties'

 ] ; then
    conf=$
fi

if [ -f $conf ] ; then
    #cat -A conf.properties | grep -E -v '^\^?M' | sed 's/\^M\$$//g'>conf.sh
    #cat conf.properties | grep -E -v '^\^?M' | tr -d  '\r' | tee conf.sh
    [ -f conf.sh ] && rm -f conf.sh
    cat $conf | grep -E -v '^\^?M' | tr -d '\r'>conf.sh
    chmod u+x,u+w conf.sh
    sed -i '1i \#\!\/bin\/bash' conf.sh && chmod u-w conf.sh
    source conf.sh
else
    echo "conf.properties not found">install.log
    exit ;
fi

if [ -z $cas_ip ] ; then
#    cas_ip=`ip addr  | tr -d 'inet '`
    cas_ip=`ip addr show |  | sed 's/[^0-9\.]//g'`
fi

if [ -z $security_ip ] ; then
    security_ip=$cas_ip
fi

if [ -z $portal_ip ] ; then
    portal_ip=$security_ip
fi

cd webapps

if [ $casEnable == "true" ] ; then

    [ -d cas ] && rm -rf cas
    cas_war=``
    if [ -f ${cas_war} ] ; then

        mkdir cas && unzip ${cas_war} -d cas

        cas_pros='cas/WEB-INF/cas.properties'

        sed -i "s/CAS_IP:CAS_PORT/${cas_ip}:${cas_port}/g"  ${cas_pros}
        sed -i "s/PORTAL_IP:PORTAL_PORT/${portal_ip}:${portal_port}/g"  ${cas_pros}
        sed -i "s/SE_IP:SE_PORT/${security_ip}:${security_port}/g"  ${cas_pros} cas/WEB-INF/classes/bonc-security-base.properties
        sed -r "s/DB_IP:DB_PORT([/:])DB_NAME/${db_ip}:${db_port}\1${db_name}/g" -i ${cas_pros}
        case $db_type in
            "mysql")
                sed -r '/MySQLDialect\r?$/s/^#//g' -i ${cas_pros}
                sed -r '/com.bonc.jdbc.MysqlDriver$/,+3s/^#//g' -i ${cas_pros}
                sed -r '/com.mysql.jdbc.Driver$/,+3s/^#//g' -i ${cas_pros}
                ;;
            "oracle")
                sed -r '/Oracle10gDialect\r?$/s/^#//g' -i ${cas_pros}
                sed -r '/com.bonc.jdbc.OracleDriver$/,+4s/^#//g' -i ${cas_pros}
                sed -r '/oracle.jdbc.driver.OracleDriver$/,+4s/^#//g' -i ${cas_pros}
                ;;
            *)
                ;;
        esac
        sed -i "s/DB_USERNAME/${db_username}/g" ${cas_pros}
        sed -i "s/DB_PASSWD/${db_passwd}/g" ${cas_pros}

        unset ${cas_pros}
    fi

    [ ${cas_war} != "cas.war" ] && mv ${cas_war} cas.war
fi

if [ $portalEnable == "true" ] ; then

    # Configure Portal
    [ -d portal ] && rm -rf portal
    portal_war=``
    if [ -f ${portal_war} ] ; then

        mkdir portal && unzip ${portal_war} -d portal

        for portal in 'portal/WEB-INF/web.xml' 'portal/WEB-INF/classes/bonc-security-base.properties' 'portal/WEB-INF/classes/cfg.db.deploy.properties'
        do
            sed -i "s/CAS_IP:CAS_PORT/${cas_ip}:${cas_port}/g"  $portal
            sed -i "s/PORTAL_IP:PORTAL_PORT/${portal_ip}:${portal_port}/g" $portal
            sed -i "s/SE_IP:SE_PORT/${security_ip}:${security_port}/g" $portal
            sed -r "s/DB_IP:DB_PORT([/:])DB_NAME/${db_ip}:${db_port}\1${db_name}/g" -i $portal
            sed -i "s/DB_USERNAME/${db_username}/g" $portal
            sed -i "s/DB_PASSWD/${db_passwd}/g" $portal
        done

        case $db_type in
            "mysql")
                sed -r '/^#?database.type=mysql$/,+4s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
                sed -r '/MySQL5Dialect$/s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
                sed -i "s/DB_SCHEMA/${db_name}/g" 'portal/WEB-INF/classes/cfg.db.deploy.properties'
            ;;
            "oracle")
                sed -r '/^#?database.type=oracle$/,+5s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
                sed -r '/Oracle10gDialect$/s/^#//g' -i 'portal/WEB-INF/classes/cfg.db.deploy.properties'
                sed -i "s/DB_SCHEMA/${db_username}/g" 'portal/WEB-INF/classes/cfg.db.deploy.properties'
            ;;
            *)
            ;;
        esac

    fi
fi

# Configure Security
if [ $securityEnable == "true" ] ; then

    [ -d security ] && rm -rf security
    security_war=``
    if [ -f ${security_war} ] ; then

        mkdir security && unzip ${security_war} -d security

        for security in 'security/WEB-INF/web.xml' 'security/WEB-INF/classes/bonc-security-base.properties' 'security/WEB-INF/classes/cfg.db.deploy.properties' 'security/WEB-INF/classes/bonc-security.properties'
        do
            sed -i "s/CAS_IP:CAS_PORT/${cas_ip}:${cas_port}/g"  $security
            sed -i "s/SE_IP:SE_PORT/${security_ip}:${security_port}/g" $security
            sed -r "s/DB_IP:DB_PORT([/:])DB_NAME/${db_ip}:${db_port}\1${db_name}/g" -i $security
            sed -i "s/DB_USERNAME/${db_username}/g" $security
            sed -i "s/DB_PASSWD/${db_passwd}/g" $security
        done

        case $db_type in
            "mysql")
                sed -r '/^#?database.type=mysql$/,+4s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
                sed -r '/MySQL5Dialect$/s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
                sed -r '/^#?database.type=mysql$/,+4s/^#//g' -i 'security/WEB-INF/classes/bonc-security.properties'
                sed -i "s/DB_SCHEMA/${db_name}/g" 'security/WEB-INF/classes/cfg.db.deploy.properties'
            ;;
            "oracle")
                sed -r '/^#?database.type=oracle$/,+5s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
                sed -r '/Oracle10gDialect$/s/^#//g' -i 'security/WEB-INF/classes/cfg.db.deploy.properties'
                sed -r '/^#?database.type=oracle$/,+4s/^#//g' -i 'security/WEB-INF/classes/bonc-security.properties'
                sed -i "s/DB_SCHEMA/${db_username}/g" 'security/WEB-INF/classes/cfg.db.deploy.properties'
            ;;
            *)
            ;;
        esac

    fi

fi

【Tomcat】shell 部署配置 war包的更多相关文章

  1. Docker实现运行tomcat并部署项目war包,并实现挂载目录

    之前写的有点乱,现在再来整理一下docker的简单部署运行 借鉴博客:https://blog.csdn.net/qq_32351227/article/details/78673591 一.dock ...

  2. Spring Boot取消默认tomcat启动,打成war包发布到服务器运行

    一.设置打包方式 在pom.xml中设置打包格式 <packaging>war</packaging> 二.取消Spring Boot的tomcat <!--部署成war ...

  3. intellij idea tomcat 启动不生成war包

    intellij idea tomcat 启动不生成war包 想把项目打包成war包做测试,但是按照之前的方法居然没有成功导出war包,犯了很低级的错误,特此记录. (1)首先在Project Str ...

  4. Tomcat上进行项目部署与WAR包含义

    一.WAR包 1.与JAR包类似,是将java类(编译好的.class)和Web资源,压缩后生成压缩包. 2. 与JAR相比,多了WEB-INF文件夹,其它多出来的内容基本都是Web资源 WEB-IN ...

  5. Tomcat访问控制及站点部署(以WAR包形式上传)!(重点)

    访问控制 首先安装好jdk以及apache-tomcat并能访问tomcat网页 点击server status了解服务状态会报403的错误 第一步:修改user.xml配置文件 [root@loca ...

  6. tomcat运行springboot项目war包

    以最简单的spring boot demo项目来演示如何发布项目war包到tomcat,并成功运行(有很多小伙伴会出现404错误) 一.准备一个最简单的demo项目 在IDEA中新建一个项目,一直ne ...

  7. springboot项目部署(war包)

    将springboot项目打包成war,并且部署到tomcat.比较麻烦,自己踩的坑也比较多.算了一下,找bug的时间,有两天熬到凌晨2点. 修改pom.xml使得打包成war <groupId ...

  8. Spring Boot 2 构建可部署的war包

    默认情况下Spring Boot使用了内嵌的Tomcat服务器,项目最终被打成jar包运行,每个jar包可以被看作一个独立的Web服务器.传统的Web开发,一般会将Web应用打成一个war包,然后将其 ...

  9. linux中部署jenkins(war包)及jenkins忘记登录账号密码

    未登录状态 登录状态 一:部署jenkins(war包) 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 2.将下载的war包放到服务器上t ...

随机推荐

  1. 面向对象15.2String类-构造函数

    public class String_Constructor { //快捷键小方法: Ctrl+d,删除整行,选中几行删除几行 public static void main(String[] ar ...

  2. Android_65535问题的解决

    做过比较大的项目的人都知道,当app大到一定程度的时候,会出现65535这个错误,也就是64K,也就是,一个app包中,方法数不能超过65535个,超过了就要分成多个dex包,这个别问为什么,andr ...

  3. Java用Cookie简单限制点赞次数

    楼主最近在搞一个当下比较流行的点赞功能,这个功能也是让程序员又爱又恨啊 说起爱,点赞是个社会化的动作,全民都在为美好的事情,行为,动作,点赞. 说起恨,你很难在用户没有登录的情况下限制恶意点赞的机器人 ...

  4. Android - 使用Volley请求网络数据

    Android - 使用Volley请求网络数据 Android L : Android Studio 14 个人使用volley的小记,简述使用方法,不涉及volley源码 准备工作 导入Volle ...

  5. Java Swing intro

    Java Swing intro 如果有Android app开发经验,快速上手Swing不是问题.UI方面有相似的地方. 简单的几行代码就能抛出一个框框,记录一下操作过程 1.先显示一个框框 Era ...

  6. 华为OJ之放砝码

    题目描述: 现有一组砝码,重量互不相等,分别为m1.m2--mn:他们可取的最大数量分别为x1.x2--xn.现在要用这些砝码去称物体的重量,问能称出多少中不同的重量. 注: 称重重量包括0: 要对输 ...

  7. 基于python的二元霍夫曼编码译码详细设计

    一.设计题目 对一幅BMP格式的灰度图像(个人证件照片)进行二元霍夫曼编码和译码 二.算法设计 (1)二元霍夫曼编码: ①:图像灰度处理: 利用python的PIL自带的灰度图像转换函数,首先将彩色图 ...

  8. centos下安装并配置tomcat

    1,安装jdk,centos默认安装了java-openjdk的环境,但是不带JDK,运行 yum install java-1.7.0-openjdk java-1.7.0-openjdk-deve ...

  9. useradd新建用户和权限分配

    场景:在搭建Ftp服务器时候,需要新建ftp用户,其实新建的ftp用户和Linux中root新建的用户一样,只是需要了解新建用户时候的相关规则. 1 解决新建用户缺少配置文件 1.1 新建用户 指定目 ...

  10. robot framework 怎么点击文本总结

    点击文本有一下几种方式 1.