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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
#!/bin/bash #Created: 2017.07.21 #Author: molewan #Description: help ERP app upgrade ###########################################################脚本说明########################################################### #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.sh 1722) ###########################################################脚本说明########################################################### # 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"
exit 1
fi # 3、备份配置文件 echo "<----------------------------------开始备份配置---------------------------------->"
cp /root/ $DBID.txt /root/ $DBID.txt.org
if [ $? - eq 0 ]; then
echo "备份$DBID.txt成功"
else echo "请检查$DBID.txt的备份"
exit 1
fi cp $DBID_DIR /w $DBID.xml $DBID_DIR /w $DBID.xml.org
if [ $? - eq 0 ]; then
echo "备份$DBID_DIR/w$DBID.xml成功"
else echo "请检查$DBID_DIR/w$DBID.xml的备份"
exit 1
fi cp $DBID_REPORTCONFIG_DIR /reportConfig .xml $DBID_REPORTCONFIG_DIR /reportConfig .xml.org
if [ $? - eq 0 ]; then
echo "备份$DBID_REPORTCONFIG_DIR/reportConfig.xml成功"
else echo "请检查$DBID_REPORTCONFIG_DIR/reportConfig.xml的备份"
exit 1
fi # 4、替换/root/$DBID.txt的三部分(数据库用户名,数据库密码以及jdbc的内容) ##a、修改/root/$DBID.txt中数据库账号: echo "<----------------------------------开始替换账户---------------------------------->"
sed -i 's/sa/bysa/g' /root/ $DBID.txt
if [ $? - eq 0 ]; then
echo "替换账户成功"
else echo "替换账号失败"
exit 1
fi # #替换2:修改数据库密码(由于我们设置的数据库是统一的,我就没配置变量) echo "<----------------------------------开始密码替换---------------------------------->"
sed -i 's/' $OLD_PASSWORD '/88***88/g' /root/ $DBID.txt
if [ $? - eq 0 ]; then
echo "密码替换成功"
else echo "密码替换失败"
exit 1
fi ## 替换3: 修改截取的jdbc echo "<----------------------------------开始jdbc替换---------------------------------->"
sed -i "s#${OLD_DBID_JDBC_URL}#${NEW_DBID_JDBC_URL}#g" /root/ $DBID.txt
if [ $? - eq 0 ]; then
echo "替换jdbc成功"
else echo "替换jdbc失败"
exit 1
fi # 5、追加拷贝的内容到reportConfig.xml文件中 echo "<----------------------------------开始追加文件---------------------------------->"
cat /root/ $DBID.txt>>$DBID_REPORTCONFIG_DIR /reportConfig .xml
if [ $? - eq 0 ]; then
echo "add file successful"
else echo "please retry"
exit 1
fi # 6、删除配置文件中Resource相关的字段 echo "<----------------------------------开始修改配置---------------------------------->"
sed -i '/\<Resource/,/\/>$/d' $DBID_DIR /w $DBID.xml
if [ $? - eq 0 ]; then
echo "delete resouce OK"
else echo "please check"
exit 1
fi |
本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1949975,如需转载请自行联系原作者