#!/bin/bash #Created:2017.07.21 #Author:molewan #Description:helpERPappupgrade ###########################################################脚本说明########################################################### #a、将需要添加的数据内容拷贝到/root/$DBID.txt文件中,例如DBID为1722,保存的文件,文件名就配置为1722.txt(手动操作) #b、从/root/$DBID.txt文件中,筛选出jdbc的信息-->$OLD_DBID_JDBC_URL #c、从/www/erp/tomcat/$DBID/conf/Catalina/localhost文件中,例如w$DBID.xml文件中筛选出jdbc的信息-->$DBID_REPORTCONfig_DIR/$NEW_DBID_JDBC_URL #d、替换/root/$DBID.txt中的数据库用户名,数据库密码以及jdbc的内容,并附加修改后的/root/$DBID.txt内容到reportConfig.xml #e、删除$DBID_DIR/w$DBID.xml中Resource相关的字段对 #f、脚本执行方法:/bin/bash$0$1(其中$0为脚本的名称,$1为DBID的数字,例如:/bin/bash/shells/help.sh1722) ###########################################################脚本说明########################################################### #1、定义变量 DBID=$1 DBID_DIR=/www/erp/tomcat/$DBID/conf/Catalina/localhost DBID_REPORTCONfig_DIR=/www/erp/tomcat/$DBID/webapps/w$DBID/WEB-INF OLD_DBID_JDBC_URL=$(grep"jdbc:sqlserver"/root/$DBID.txt|awk-F";"'{print$1";"$2}') NEW_DBID_JDBC_URL=$(grep'jdbc:sqlserver'$DBID_DIR/w$DBID.xml|awk-F'"''{print$2}') OLD_PASSWORD=$(grep"<password>"/root/$DBID.txt|awk-F"<password>"'{print$2}'|awk-F"</password>"'{print$1}') #2、脚本使用方式定义 if["$#"-ne"1"];then echo"usage:/bin/bash$0$DBID" exit1 fi #3、备份配置文件 echo"<----------------------------------开始备份配置---------------------------------->" cp/root/$DBID.txt/root/$DBID.txt.org if[$?-eq0];then echo"备份$DBID.txt成功" else echo"请检查$DBID.txt的备份" exit1 fi cp$DBID_DIR/w$DBID.xml$DBID_DIR/w$DBID.xml.org if[$?-eq0];then echo"备份$DBID_DIR/w$DBID.xml成功" else echo"请检查$DBID_DIR/w$DBID.xml的备份" exit1 fi cp$DBID_REPORTCONfig_DIR/reportConfig.xml$DBID_REPORTCONfig_DIR/reportConfig.xml.org if[$?-eq0];then echo"备份$DBID_REPORTCONfig_DIR/reportConfig.xml成功" else echo"请检查$DBID_REPORTCONfig_DIR/reportConfig.xml的备份" exit1 fi #4、替换/root/$DBID.txt的三部分(数据库用户名,数据库密码以及jdbc的内容) ##a、修改/root/$DBID.txt中数据库账号: echo"<----------------------------------开始替换账户---------------------------------->" sed-i's/sa/bysa/g'/root/$DBID.txt if[$?-eq0];then echo"替换账户成功" else echo"替换账号失败" exit1 fi ##替换2:修改数据库密码(由于我们设置的数据库是统一的,我就没配置变量) echo"<----------------------------------开始密码替换---------------------------------->" sed-i's/'$OLD_PASSWORD'/88***88/g'/root/$DBID.txt if[$?-eq0];then echo"密码替换成功" else echo"密码替换失败" exit1 fi ##替换3:修改截取的jdbc echo"<----------------------------------开始jdbc替换---------------------------------->" sed-i"s#${OLD_DBID_JDBC_URL}#${NEW_DBID_JDBC_URL}#g"/root/$DBID.txt if[$?-eq0];then echo"替换jdbc成功" else echo"替换jdbc失败" exit1 fi #5、追加拷贝的内容到reportConfig.xml文件中 echo"<----------------------------------开始追加文件---------------------------------->" cat/root/$DBID.txt>>$DBID_REPORTCONfig_DIR/reportConfig.xml if[$?-eq0];then echo"addfilesuccessful" else echo"pleaseretry" exit1 fi #6、删除配置文件中Resource相关的字段 echo"<----------------------------------开始修改配置---------------------------------->" sed-i'/\<Resource/,/\/>$/d'$DBID_DIR/w$DBID.xml if[$?-eq0];then echo"deleteresouceOK" else echo"pleasecheck" exit1 fi