一个生产的shell脚本
生活随笔
收集整理的這篇文章主要介紹了
一个生产的shell脚本
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
#!/bin/bash
#Created:?2017.07.21
#Author:?molewan
#Description:?help?ERP?app?upgrade?
###########################################################腳本說明###########################################################
#a、將需要添加的數(shù)據(jù)內(nèi)容拷貝到/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中的數(shù)據(jù)庫用戶名,數(shù)據(jù)庫密碼以及jdbc的內(nèi)容,并附加修改后的/root/$DBID.txt內(nèi)容到reportConfig.xml
#e、刪除$DBID_DIR/w$DBID.xml中Resource相關(guān)的字段對
#f、腳本執(zhí)行方法:/bin/bash?$0?$1???(其中$0為腳本的名稱,$1為DBID的數(shù)字,例如:/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的三部分(數(shù)據(jù)庫用戶名,數(shù)據(jù)庫密碼以及jdbc的內(nèi)容)
##a、修改/root/$DBID.txt中數(shù)據(jù)庫賬號:
echo?"<----------------------------------開始替換賬戶---------------------------------->"
sed?-i?'s/sa/bysa/g'?/root/$DBID.txt
if?[?$??-eq?0?];then
echo?"替換賬戶成功"
else
echo?"替換賬號失敗"
exit?1
fi
#?#替換2:修改數(shù)據(jù)庫密碼(由于我們設(shè)置的數(shù)據(jù)庫是統(tǒng)一的,我就沒配置變量)
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、追加拷貝的內(nèi)容到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相關(guān)的字段
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
轉(zhuǎn)載于:https://blog.51cto.com/molewan/1949975
總結(jié)
以上是生活随笔為你收集整理的一个生产的shell脚本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信转账限额多少 微信转账的额度是多少
- 下一篇: 盛事通app怎么换照片