使用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

最新文章

  1. DevExpress 隐藏Ribbon中barbuttonItem的SuperTip(1)
  2. 如何通过cmd开一个本地服务器
  3. bzoj 3611: [Heoi2014]大工程
  4. 不同包中继承关系访问protected内部类问题
  5. Python 程序如何高效地调试?
  6. linux 安装软件,卸载软件 等的几种方式
  7. 使用AlarmManager设置闹钟----之一
  8. 运行测试Caused by: java.lang.UnsatisfiedLinkError: no attach in java.library.path错误解决
  9. 跨平台的神器RAD XE5 来啦!!!! XE5破解
  10. C++11 多线程 基础
  11. ios7下二维码功能的实现
  12. 关于jsp页面 title中文乱码问题的解决方法
  13. jQuery选择器(添加节点及删除节点及克隆及替换及包装)第九节
  14. LeetCode第二十三题-合并n个有序链表
  15. 《SSO CAS单点系列》之 APP原生应用如何访问CAS认证中心
  16. a链接中 JS弹出确认对话框方法
  17. Feature Extractor[inception v2 v3]
  18. HDU 1671 Phone List (qsort字符串排序与strncmp的使用 /字典树)
  19. ubuntu 网络配置
  20. Linux 编译命令参数

热门文章

  1. 剖析touch事件在View中的传递
  2. LoadRunner压力测试之Unique Number参数类型、Random Number参数类型浅析
  3. hadoop全分布式环境搭建
  4. 安装 Docker Machine - 每天5分钟玩转 Docker 容器技术(45)
  5. tensorflow官方文档中的sub 和mul中的函数已经在API中改名了
  6. windows下配置cygwin和dig的环境变量
  7. Entity Framework Core 执行SQL语句和存储过程
  8. Spring核心--IOC
  9. nodeJS之crypto加密
  10. AVR开发 Arduino方法(一) 端口子系统