echo "Update db.properties use new database file."
sed -i -c "s/data\/appDBData/data\/appDBData-new;NON_KEYWORDS=USER,KEY,PATH,COMMAND,INTERVAL,VALUE,USERNAME,PASSWORD,UNIT,DAYTIME,HOUR/" $appHome/conf/db.properties
else
echo "Db.properties is already updated with new database file."
fi
# 4.3 Restart app.
cd $appHome/bin
sh app.sh restart
复制代码
启示录
总体来看比力简单的,但时升级时截取应用配置的数据库帐密信息时遇到一个标题,就是通过脚本截取的信息一直报帐号或密码错误「Wrong user name or password」,而直接设置帐号和密码又能精确导入导出。
所以断定解析结果出了标题,果然是 awk -F 截取到的信息结尾有一个 CR 字符,该配置文件是 CRLF 的分隔符,awk 除了了 \n 还是保存了一个 CR 字符即 \r ,须要去掉才气得到精确的数据库信息。
修正获取认证信息的脚本,结尾加上 tr -d ' \r' 就可以了。