加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

一个生产的shell脚本

发布时间:2020-12-15 16:39:50 所属栏目:安全 来源:网络整理
导读:#!/bin/bash#Created:2017.07.21#Author:molewan#Description:helpERPappupgrade###########################################################脚本说明############################################################a、将需要添加的数据内容拷贝到/root/$D
#!/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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读