sh setup.sh -n -f tianwei_param.properties
setup.sh:
#/bin/sh
ISSTART=""
IsInputParam=""
InputParamFile=""
VERSION=`grep "ProductVersion" version.lv | awk -F '=' '{print $2}'`
PORTALMSPORT=8881
INSTALL_LOG="/tmp/portalMS_install.log"
PORTALMS_HOME="/usr/local/portalMS"
CURRENT_DIR=`pwd`
PARAM_PATH=/var/portalMS/
JBOSS_NAME=jboss5.tar.gz
PARAM_FILE=param.properties
dbType=oracle
datasourceType=datasource.properties
oracleDialect=OracleDialect
mysqlDialect=MySQLDialect
dbUrl=""
dbUserName=""
dbPassword=""
portalUrl=""
IAGUrl=""
amsUrl=""
sdpAdapterUrl=""
ottUrl=""
grmUrl=""
systemEdition=""
systemDeployType=""
rankFlag=""
systemLevelType=""
localCity=""
childCitys=""
UifConfigFilePath=""
oracleDriver="oracle.jdbc.driver.OracleDriver"
mysqlDriver="com.mysql.jdbc.Driver"
defaultUrl="http://127.0.0.1"
crontabPath="/etc/crontab"
deamonPath="/usr/local/portalMS/jboss5/bin/demon.sh"
localeShort=""
localLanguage=""
uifLanguage=""
export PORTALMS_HOME
export PORTALMSPORT
export VERSION
export INSTALL_LOG
export PARAM_PATH
export PARAM_FILE
#检查环境是否可用
checkEnv()
{
#删除日志文件
rm -rf $INSTALL_LOG >/dev/null 2>&1;
if [ ! -d "$PORTALMS_HOME" ]; then
mkdir $PORTALMS_HOME
fi;
echo -e "\033[32;49;1m [----------------check env begin--------------] \033[39;49;0m"
echo "`date`-----------check env begin--------------" >> $INSTALL_LOG 2>&1;
#1检查是否已经安装PORTALMS,如果存在,则先执行shutdown脚本,然后删除该目录
if [ -d "$PORTALMS_HOME/jboss5" ]; then
echo "`date` Start to stop portalMS service." >> $INSTALL_LOG 2>&1;
#检查PORTALMS服务是否已经启动
portNum1=`netstat -an | grep ${PORTALMSPORT} | awk '{print $4}' | awk -F ':' '{print $2}' | grep ^${PORTALMSPORT} | wc -l`
if [ $portNum1 -gt 0 ]; then
cd $PORTALMS_HOME/jboss5/bin/
sh stop.sh >> $INSTALL_LOG 2>&1;
fi;
#删除目录
rm -rf $PORTALMS_HOME/jboss5 >> $INSTALL_LOG 2>&1;
cd $CURRENT_DIR
fi;
echo -e "\033[32;49;1m [-----------------check env end---------------] \033[39;49;0m"
echo "-----------`date` check env end--------------" >> $INSTALL_LOG 2>&1;
}
#开始安装
install()
{
echo "-----------`date` install software begin--------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------install software begin------------] \033[39;49;0m"
if [ "${InputHomePath}" != "" ]; then
# 拷贝portalMS配置文件
cp -rf config/portalMS $PORTALMS_HOME/jboss5/bin/ >> $INSTALL_LOG 2>&1;
cp -rf config/monitor $PORTALMS_HOME/jboss5/bin/ >> $INSTALL_LOG 2>&1;
#copy war包到JBoss发布目录
echo "-----------`date` start to untar tar-----------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------start to untar tar---------------] \033[39;49;0m"
cp -rf war/portalMS.war $systemDeployPath
cd $PORTALMS_HOME
echo "-----------`date` end to untar tar----------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------end to untar tar---------------] \033[39;49;0m"
# 修改文件夹权限
chmod 755 -R $PORTALMS_HOME
#修改必要配置
config;
else
#copy tar文件到安装目录,解压Jboss文件夹
echo "-----------`date` start to untar jboss5-----------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------start to untar jboss5---------------] \033[39;49;0m"
# 检查tools下面是否有jboss工具
if [ ! -e tools/$JBOSS_NAME ]; then
echo "-----------`date` $JBOSS_NAME is not exist in dir tools--------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[31;49;1m [-------$JBOSS_NAME is not exist in dir tools-------] \033[39;49;0m"
exit 1;
fi;
cp tools/$JBOSS_NAME $PORTALMS_HOME
cd $PORTALMS_HOME
tar -xf $JBOSS_NAME
rm -rf $JBOSS_NAME >> $INSTALL_LOG 2>&1;
cd - >> $INSTALL_LOG 2>&1;
echo "-----------`date` end to untar jboss5----------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------end to untar jboss5---------------] \033[39;49;0m"
# 修改文件夹权限
chmod 755 -R $PORTALMS_HOME
# 拷贝配置文件到jboss目录
/bin/cp -r -f config/jboss/sh/* $PORTALMS_HOME/jboss5/bin/ >> $INSTALL_LOG 2>&1;
/bin/cp -r -f config/portalMS $PORTALMS_HOME/jboss5/bin/ >> $INSTALL_LOG 2>&1;
/bin/cp -r -f config/monitor $PORTALMS_HOME/jboss5/bin/ >> $INSTALL_LOG 2>&1;
/bin/cp -r -f war/portalMS.war $PORTALMS_HOME/jboss5/server/default/deploy/ >> $INSTALL_LOG 2>&1;
/bin/cp -r -f config/jboss/xml/bindings-jboss-beans.xml $PORTALMS_HOME/jboss5/server/default/conf/bindingservice.beans/META-INF/ >> $INSTALL_LOG 2>&1;
/bin/cp -r -f config/jboss/xml/server.xml $PORTALMS_HOME/jboss5/server/default/deploy/jbossweb.sar/ >> $INSTALL_LOG 2>&1;
/bin/cp -r -f config/jboss/xml/ejb3-connectors-jboss-beans.xml $PORTALMS_HOME/jboss5/server/default/deploy/ >> $INSTALL_LOG 2>&1;
# 拷贝结束
dos2unix $PORTALMS_HOME/jboss5/bin/*.sh >> $INSTALL_LOG 2>&1;
#修改必要配置
config;
#注册命令
registerCmd;
#增加重启任务
autoRestart;
#如果传入的参数为启动服务,则调用启动服务脚本
if [ "$ISSTART" == "-s" ]; then
# 启动服务
echo "-----------`date` start to startup portalMS server--------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------start to startup portalMS server-------] \033[39;49;0m"
cd $PORTALMS_HOME/jboss5/bin/
nohup $PORTALMS_HOME/jboss5/bin/restart_remote.sh >> $INSTALL_LOG 2>&1;
#检查服务是否启动
portNum=`netstat -an | grep $PORTALMSPORT | awk '{print $4}' | awk -F ':' '{print $2}' | grep ^${PORTALMSPORT} | wc -l`
while ( [ $portNum -eq 0 ] )
do
sleep 10;
count=`expr $count + 1`;
if [ "$count" == "40" ]; then
echo "`date` start portalMS server failed, start failed..." >> $INSTALL_LOG 2>&1;
echo -e "\033[31;49;1m [----------start portalMS server failed, start failed...--------] \033[39;49;0m"
exit 1;
fi;
portNum=`netstat -an | grep $PORTALMSPORT | awk '{print $4}' | awk -F ':' '{print $2}' | grep ^${PORTALMSPORT} | wc -l`
echo "portalMS server is starting......." >> $INSTALL_LOG 2>&1;
done
echo "-----------`date` end to startup portalMS server--------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------end to startup portalMS server---------] \033[39;49;0m"
fi;
echo "-----------install software end--------------" >> $INSTALL_LOG 2>&1;
echo -e "\033[32;49;1m [-----------install software finished---------] \033[39;49;0m"
fi;
}
################################################
####注册命令,包含restart_portalMS status_portalMS#######
################################################
registerCmd()
{
#注册restart_portalMS命令
echo "cd $PORTALMS_HOME/jboss5/bin" > /bin/restart_portalMS
echo "sh $PORTALMS_HOME/jboss5/bin/restart_remote.sh" >> /bin/restart_portalMS
chmod 755 /bin/restart_portalMS
#注册查看状态命令status_portalMS
echo "cd $PORTALMS_HOME/jboss5/bin" > /bin/status_portalMS
echo "sh $PORTALMS_HOME/jboss5/bin/status.sh $VERSION" >> /bin/status_portalMS
chmod 755 /bin/status_portalMS
#注册start_portalMS命令
sed -i "s#\${PORTALMS_HOME}#${PORTALMS_HOME}#" $PORTALMS_HOME/jboss5/bin/start.sh
echo "cd $PORTALMS_HOME/jboss5/bin" > /bin/start_portalMS
echo "sh $PORTALMS_HOME/jboss5/bin/start.sh" >> /bin/start_portalMS
chmod 755 /bin/start_portalMS
#注册stop_portalMS命令
echo "cd $PORTALMS_HOME/jboss5/bin" > /bin/stop_portalMS
echo "sh $PORTALMS_HOME/jboss5/bin/stop.sh" >> /bin/stop_portalMS
chmod 755 /bin/stop_portalMS
}
#############################################################################
####增加定时任务,在服务异常停止后自动拉起服务 #######
#############################################################################
autoRestart()
{
#判断定时任务中是否已经存在自动拉起服务
cronStatus=`grep -q $deamonPath $crontabPath && echo "true" || echo "false"`;
if [ "$cronStatus" == "false" ]; then
echo "*/1 * * * * root . /root/.bashrc;. ~/.bash_profile;. /etc/profile;/bin/sh /usr/local/portalMS/jboss5/bin/demon.sh >/dev/null 2>&1 &" >> $crontabPath
fi;
}
################################################
####修改必要配置################################
################################################
config()
{
echo -e "\033[32;49;1m [----------------------start config-----------] \033[39;49;0m"
exitFlag='N';
if [ "${IsInputParam}d" != "d" -a "${IsInputParam}" = "-f" ]; then
systemEdition=`grep "systemEdition" $InputParamFile | awk -F '=' '{print $2}'`
systemDeployType=`grep "systemDeployType" $InputParamFile | awk -F '=' '{print $2}'`
rankFlag=`grep "rankFlag" $InputParamFile | awk -F '=' '{print $2}'`
systemLevelType=`grep "systemLevelType" $InputParamFile | awk -F '=' '{print $2}'`
localCity=`grep "localCity" $InputParamFile | awk -F '=' '{print $2}'`
childCitys=`grep "childCitys" $InputParamFile | awk -F '=' '{print $2}'`
dbType=`grep "dbType" $InputParamFile | awk -F '=' '{print $2}'`
dbUrl=`grep "dbUrl" $InputParamFile | awk -F 'dbUrl=' '{print $2}'`
dbUserName=`grep "dbUserName" $InputParamFile | awk -F '=' '{print $2}'`
dbPassword=`grep "dbPassword" $InputParamFile | awk -F '=' '{print $2}'`
portalUrl=`grep "portalUrl" $InputParamFile | awk -F '=' '{print $2}'`
IAGUrl=`grep "IAGUrl" $InputParamFile | awk -F '=' '{print $2}'`
sdpAdapterUrl=`grep "sdpAdapterUrl" $InputParamFile | awk -F '=' '{print $2}'`
ottUrl=`grep "ottUrl" $InputParamFile | awk -F '=' '{print $2}'`
amsUrl=`grep "amsUrl" $InputParamFile | awk -F '=' '{print $2}'`
grmUrl=`grep "grmUrl" $InputParamFile | awk -F '=' '{print $2}'`
localLanguage=`grep "localLanguage" $InputParamFile | awk -F '=' '{print $2}'`
echo -e
echo -e "\033[33;49;1m systemEdition:\"${systemEdition}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m Database type is :\"${dbType}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m Database url is :\"${dbUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m Database userName is :\"${dbUserName}\"\n \033[39;49;0m"
echo -e "\033[33;49;1m Database password is :\"${dbPassword}\"\n \033[39;49;0m"
echo -e "\033[33;49;1m localLanguage is :\"${localLanguage}\"\n \033[39;49;0m"
############################################################
if [ "${localLanguage}d" != "d" ];then
if [ "$localLanguage" == "zh_CN" ]; then
localeShort="CHINA"
uifLanguage="zh"
elif [ "$localLanguage" == "zh_TW" ]; then
localeShort="TAIWAN"
uifLanguage="zhTW"
elif [ "$localLanguage" == "en_US" ]; then
localeShort="US"
uifLanguage="en"
else
localeShort="CHINA"
localLanguage="zh_CN"
uifLanguage="zh"
fi;
else
localeShort="CHINA"
localLanguage="zh_CN"
uifLanguage="zh"
fi;
if [ "${systemEdition}" == "nanjing-no-classify" ];then
echo -e "\033[33;49;1m portalUrl is :\"${portalUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m amsUrl is :\"${amsUrl}\"\n\033[39;49;0m"
fi;
if [ "${systemEdition}" == "nanjing-classify" ];then
echo -e "\033[33;49;1m IAGUrl is :\"${IAGUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m amsUrl is :\"${amsUrl}\"\n\033[39;49;0m"
fi;
if [ "${systemEdition}" == "tianwei" ];then
echo -e "\033[33;49;1m portalUrl is :\"${portalUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m sdpAdapterUrl is :\"${sdpAdapterUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m ottUrl is :\"${ottUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m IAGUrl is :\"${IAGUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m grmUrl is :\"${grmUrl}\"\n\033[39;49;0m"
fi;
if [ "${systemEdition}" == "guangdong" ];then
echo -e "\033[33;49;1m systemDeployType:\"${systemDeployType}\"\n\033[39;49;0m"
if [ "${systemDeployType}" == "NGB" ];then
echo -e "\033[33;49;1m rankFlag is :\"${rankFlag}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m systemLevelType is :\"${systemLevelType}\"\n\033[39;49;0m"
if [ "${systemLevelType}" == "C" ];then
echo -e "\033[33;49;1m localCity is :\"${localCity}\"\n\033[39;49;0m"
fi;
if [ "${rankFlag}" == "true" ];then
if [ "${systemLevelType}" == "P" ];then
echo -e "\033[33;49;1m childCitys is :\"${childCitys}\"\n\033[39;49;0m"
fi;
echo -e "\033[33;49;1m IAGUrl is :\"${IAGUrl}\"\n\033[39;49;0m"
fi;
fi;
echo -e "\033[33;49;1m portalUrl is :\"${portalUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m ottUrl is :\"${ottUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m amsUrl is :\"${amsUrl}\"\n\033[39;49;0m"
echo -e "\033[33;49;1m grmUrl is :\"${grmUrl}\"\n\033[39;49;0m"
fi;
#输入参数
else
while ( [ ${exitFlag} != 'Y' ] )
do
#读取输入值
#设置系统标志
echo -e "\033[33;49;1mPlease enter systemEdition(example:\"tianwei OR nanjing-classify OR nanjing-no-classify OR guangdong\"):\033[39;49;0m"
read -p "" inputSystemEdition
hasSystemEdition="false"
while ( [ ! "${hasSystemEdition}" == "true" ] )
do
if [ "${inputSystemEdition}d" != "d" ];then
systemEdition=$inputSystemEdition;
UifConfigFilePath=${PORTALMS_HOME}/jboss5/bin/portalMS/conf/uif-config_${systemEdition}.xml;
hasSystemEdition="true"
else
echo -e "\033[31;49;1msystemEdition must be set.\033[39;49;0m"
read -p "Please enter systemEdition:" inputSystemEdition
fi;
done
if [ "${systemEdition}" == "guangdong" ];then
#设置系统的部署方式
echo -e "\033[33;49;1mPlease enter systemDeployType(example:\"NGB OR SDP\"):\033[39;49;0m"
read -p "" inputSystemDeployType
hasSystemDeployType="false"
while ( [ ! "${hasSystemDeployType}" == "true" ] )
do
if [ "${inputSystemDeployType}d" != "d" ];then
systemDeployType=$inputSystemDeployType;
hasSystemDeployType="true"
else
echo -e "\033[31;49;1msystemDeployType must be set.\033[39;49;0m"
read -p "Please enter systemDeployType:" inputSystemDeployType
fi;
done
if [ "${systemDeployType}" == "NGB" ];then
#设置是否支持分级
echo -e "\033[33;49;1mPlease enter rankFlag(0:false 1:true default is 0):\033[39;49;0m"
read -p "" inputRankFlag
if [ "${inputRankFlag}d" != "d" ];then
if [ "$inputRankFlag" == "1" ]; then
rankFlag=true
else
rankFlag=false
fi;
else
rankFlag=false
fi;
#设置是主系统还是分系统
echo -e "\033[33;49;1mPlease enter systemLevelType(0:P 1:C default is 0):\033[39;49;0m"
read -p "" inputSystemLevelType
if [ "${inputSystemLevelType}d" != "d" ];then
if [ "$inputSystemLevelType" == "1" ]; then
systemLevelType=C
else
systemLevelType=P
fi;
else
systemLevelType=P
fi;
if [ "$systemLevelType" == "C" ];then
echo -e "\033[33;49;1mPlease enter localCity(localCity is local cityCode):\033[39;49;0m"
read -p "" inputLocalCity
hasLocalCity="false"
while ( [ ! "${hasLocalCity}" == "true" ] )
do
if [ "${inputLocalCity}d" != "d" ];then
localCity=$inputLocalCity;
hasLocalCity="true"
else
echo -e "\033[31;49;1mlocalCity must be set.\033[39;49;0m"
read -p "Please enter localCity:" inputLocalCity
fi;
done
fi;
if [ "$rankFlag" == "true" ];then
if [ "$systemLevelType" == "P" ];then
echo -e "\033[33;49;1mPlease enter childCitys(if to much use the "," separate):\033[39;49;0m"
read -p "" inputChildCitys
hasChildCitys="false"
while ( [ ! "${hasChildCitys}" == "true" ] )
do
if [ "${inputChildCitys}d" != "d" ];then
childCitys=$inputChildCitys;
hasChildCitys="true"
else
echo -e "\033[31;49;1mchildCitys must be set.\033[39;49;0m"
read -p "Please enter childCitys:" inputChildCitys
fi;
done
fi;
fi;
fi;
fi;
echo -e "\033[33;49;1mPlease enter database type(1:oracle 2:mysql default is 2):\033[39;49;0m"
read -p "" inputDbType
if [ "${inputDbType}d" != "d" ];then
if [ "$inputDbType" == "1" ]; then
dbType=oracle
else
dbType=mysql
fi;
else
dbType=mysql
fi;
if [ "$dbType" == "oracle" ]; then
echo -e "\033[33;49;1mPlease enter oracle url(example:\"jdbc:oracle:thin:@172.20.100.25:1521:orcl\"):\033[39;49;0m"
else
echo -e "\033[33;49;1mPlease enter mysql url(example:\"jdbc:mysql://10.10.91.121:3306/sdpportalMS\"):\033[39;49;0m"
fi;
#设置数据库url
hasRightUrl="false"
read -p "" inputDbUrl
while ( [ ! "${hasRightUrl}" == "true" ] )
do
if [ "${inputDbUrl}d" != "d" ];then
dbUrl=$inputDbUrl;
hasRightUrl="true"
else
echo -e "\033[31;49;1mDataBase url must be set.\033[39;49;0m"
read -p "Please enter oracle url:" inputDbUrl
fi;
done
#username
echo -e "\033[33;49;1mPlease enter username:\033[39;49;0m"
read -p "" inputDbUserName
hasRightUserName="false"
while ( [ ! "${hasRightUserName}" == "true" ] )
do
if [ "${inputDbUserName}d" != "d" ];then
dbUserName=$inputDbUserName;
hasRightUserName="true"
else
echo -e "\033[31;49;1mDataBase username must be set.\033[39;49;0m"
read -p "Please enter username:" inputDbUserName
fi;
done
#password
echo -e "\033[33;49;1mPlease enter password:\033[39;49;0m"
read -p "" inputDbPassword
hasRightPassword="false"
while ( [ ! "${hasRightPassword}" == "true" ] )
do
if [ "${inputDbPassword}d" != "d" ];then
dbPassword=$inputDbPassword;
hasRightPassword="true"
else
echo -e "\033[31;49;1mDataBase password must be set.\033[39;49;0m"
read -p "Please enter password:" inputDbPassword
fi;
done
if [ "${systemEdition}" == "nanjing-no-classify" ];then
#设置portal连接地址
echo -e "\033[33;49;1mPlease enter portalUrl(example:\"http://172.20.26.22:48280/portalAgent/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputPortalUrl
hasPortalUrl="false"
while ( [ ! "${hasPortalUrl}" == "true" ] )
do
if [ "${inputPortalUrl}d" != "d" ];then
portalUrl=$inputPortalUrl;
hasPortalUrl="true"
else
echo -e "\033[31;49;1mportalUrl must be set.\033[39;49;0m"
read -p "Please enter portalUrl:" inputPortalUrl
fi;
done
#设置ams连接地址
echo -e "\033[33;49;1mPlease enter amsUrl(example:\"http://172.21.11.202:8080/ams-server/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputamsUrl
hasamsUrl="false"
while ( [ ! "${hasamsUrl}" == "true" ] )
do
if [ "${inputamsUrl}d" != "d" ];then
amsUrl=$inputamsUrl;
hasamsUrl="true"
else
echo -e "\033[31;49;1mamsUrl must be set.\033[39;49;0m"
read -p "Please enter amsUrl:" inputamsUrl
fi;
done
fi;
if [ "${systemEdition}" == "nanjing-classify" ];then
#设置IAG连接地址
echo -e "\033[33;49;1mPlease enter IAGUrl(example:\"http://172.20.28.10:8280/services/PortalMSLevelService.PortalMSLevelServiceHttpEndpoint\"):\033[39;49;0m"
read -p "" inputIAGUrl
hasIAGUrl="false"
while ( [ ! "${hasIAGUrl}" == "true" ] )
do
if [ "${inputIAGUrl}d" != "d" ];then
IAGUrl=$inputIAGUrl;
hasIAGUrl="true"
else
echo -e "\033[31;49;1mIAGUrl must be set.\033[39;49;0m"
read -p "Please enter IAGUrl:" inputIAGUrl
fi;
done
#设置ams连接地址
echo -e "\033[33;49;1mPlease enter amsUrl(example:\"http://172.21.11.202:8080/ams-server/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputamsUrl
hasamsUrl="false"
while ( [ ! "${hasamsUrl}" == "true" ] )
do
if [ "${inputamsUrl}d" != "d" ];then
amsUrl=$inputamsUrl;
hasamsUrl="true"
else
echo -e "\033[31;49;1mamsUrl must be set.\033[39;49;0m"
read -p "Please enter amsUrl:" inputamsUrl
fi;
done
fi;
if [ "${systemEdition}" == "tianwei" ];then
#设置portal连接地址
echo -e "\033[33;49;1mPlease enter portalUrl(example:\"http://172.20.26.22:48280/portalAgent/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputPortalUrl
hasPortalUrl="false"
while ( [ ! "${hasPortalUrl}" == "true" ] )
do
if [ "${inputPortalUrl}d" != "d" ];then
portalUrl=$inputPortalUrl;
hasPortalUrl="true"
else
echo -e "\033[31;49;1mportalUrl must be set.\033[39;49;0m"
read -p "Please enter portalUrl:" inputPortalUrl
fi;
done
#设置sdpAdapter连接地址
echo -e "\033[33;49;1mPlease enter sdpAdapterUrl(example:\"http://172.21.11.153:9898/sdpAdapter/services/dataSyncService\"):\033[39;49;0m"
read -p "" inputSdpAdapterUrl
hasSdpAdapterUrl="false"
while ( [ ! "${hasSdpAdapterUrl}" == "true" ] )
do
if [ "${inputSdpAdapterUrl}d" != "d" ];then
sdpAdapterUrl=$inputSdpAdapterUrl;
hasSdpAdapterUrl="true"
else
echo -e "\033[31;49;1msdpAdapterUrl must be set.\033[39;49;0m"
read -p "Please enter sdpAdapterUrl:" inputSdpAdapterUrl
fi;
done
#设置ott连接地址
echo -e "\033[33;49;1mPlease enter ottUrl(example:\"http://172.21.11.202:8080/ott-server/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputOTTUrl
hasOTTUrl="false"
while ( [ ! "${hasOTTUrl}" == "true" ] )
do
if [ "${inputOTTUrl}d" != "d" ];then
ottUrl=$inputOTTUrl;
hasOTTUrl="true"
else
echo -e "\033[31;49;1mottUrl must be set.\033[39;49;0m"
read -p "Please enter ottUrl:" inputOTTUrl
fi;
done
#设置IAG连接地址
echo -e "\033[33;49;1mPlease enter IAGUrl(example:\"http://172.20.28.10:8280/services/PortalMSLevelService.PortalMSLevelServiceHttpEndpoint\"):\033[39;49;0m"
read -p "" inputIAGUrl
hasIAGUrl="false"
while ( [ ! "${hasIAGUrl}" == "true" ] )
do
if [ "${inputIAGUrl}d" != "d" ];then
IAGUrl=$inputIAGUrl;
hasIAGUrl="true"
else
echo -e "\033[31;49;1mIAGUrl must be set.\033[39;49;0m"
read -p "Please enter IAGUrl:" inputIAGUrl
fi;
done
echo -e "\033[33;49;1mPlease enter grmUrl(example:\"http://172.21.13.151:8080/GRM/syncAreaIp\"):\033[39;49;0m"
read -p "" inputGRMUrl
hasGRMUrl="false"
while ( [ ! "${hasGRMUrl}" == "true" ] )
do
if [ "${inputGRMUrl}d" != "d" ];then
grmUrl=$inputGRMUrl;
hasGRMUrl="true"
else
echo -e "\033[31;49;1mgrmUrl must be set.\033[39;49;0m"
read -p "Please enter grmUrl:" inputGRMUrl
fi;
done
fi;
if [ "${systemEdition}" == "guangdong" ];then
#设置portal连接地址
echo -e "\033[33;49;1mPlease enter portalUrl(example:\"http://172.20.26.22:48280/portalAgent/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputPortalUrl
hasPortalUrl="false"
while ( [ ! "${hasPortalUrl}" == "true" ] )
do
if [ "${inputPortalUrl}d" != "d" ];then
portalUrl=$inputPortalUrl;
hasPortalUrl="true"
else
echo -e "\033[31;49;1mportalUrl must be set.\033[39;49;0m"
read -p "Please enter portalUrl:" inputPortalUrl
fi;
done
#设置ott连接地址
echo -e "\033[33;49;1mPlease enter ottUrl(example:\"http://172.21.11.202:8080/ott-server/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputOTTUrl
hasOTTUrl="false"
while ( [ ! "${hasOTTUrl}" == "true" ] )
do
if [ "${inputOTTUrl}d" != "d" ];then
ottUrl=$inputOTTUrl;
hasOTTUrl="true"
else
echo -e "\033[31;49;1mottUrl must be set.\033[39;49;0m"
read -p "Please enter ottUrl:" inputOTTUrl
fi;
done
#设置ams连接地址
echo -e "\033[33;49;1mPlease enter amsUrl(example:\"http://172.21.11.202:8080/ams-server/services/receiveMsg\"):\033[39;49;0m"
read -p "" inputamsUrl
hasamsUrl="false"
while ( [ ! "${hasamsUrl}" == "true" ] )
do
if [ "${inputamsUrl}d" != "d" ];then
amsUrl=$inputamsUrl;
hasamsUrl="true"
else
echo -e "\033[31;49;1mamsUrl must be set.\033[39;49;0m"
read -p "Please enter amsUrl:" inputamsUrl
fi;
done
#设置grm连接地址
echo -e "\033[33;49;1mPlease enter grmUrl(example:\"http://172.21.13.151:8080/GRM/syncAreaIp\"):\033[39;49;0m"
read -p "" inputGRMUrl
hasGRMUrl="false"
while ( [ ! "${hasGRMUrl}" == "true" ] )
do
if [ "${inputGRMUrl}d" != "d" ];then
grmUrl=$inputGRMUrl;
hasGRMUrl="true"
else
echo -e "\033[31;49;1mgrmUrl must be set.\033[39;49;0m"
read -p "Please enter grmUrl:" inputGRMUrl
fi;
done
if [ "${systemDeployType}" == "NGB" ];then
if [ "${rankFlag}" == "true" ];then
#设置IAG连接地址
echo -e "\033[33;49;1mPlease enter IAGUrl(example:\"http://172.20.28.10:8280/services/PortalMSLevelService.PortalMSLevelServiceHttpEndpoint\"):\033[39;49;0m"
read -p "" inputIAGUrl
hasIAGUrl="false"
while ( [ ! "${hasIAGUrl}" == "true" ] )
do
if [ "${inputIAGUrl}d" != "d" ];then
IAGUrl=$inputIAGUrl;
hasIAGUrl="true"
else
echo -e "\033[31;49;1mIAGUrl must be set.\033[39;49;0m"
read -p "Please enter IAGUrl:" inputIAGUrl
fi;
done
fi;
fi;
fi;
echo -e
echo -e "\033[33;49;1msystemEdition:\"${systemEdition}\"\n \033[39;49;0m"
if [ "${systemEdition}" == "guangdong" ];then
echo -e "\033[33;49;1msystemDeployType is :\"${systemDeployType}\"\n \033[39;49;0m"
if [ "${systemDeployType}" == "NGB" ];then
echo -e "\033[33;49;1mrankFlag is :\"${rankFlag}\"\n \033[39;49;0m"
echo -e "\033[33;49;1msystemLevelType is :\"${systemLevelType}\"\n \033[39;49;0m"
if [ "${rankFlag}" == "true" ];then
if [ "${systemLevelType}" == "P" ];then
echo -e "\033[33;49;1mchildCitys is :\"${childCitys}\"\n \033[39;49;0m"
fi;
fi;
if [ "${systemLevelType}" == "C" ];then
echo -e "\033[33;49;1mlocalCity is :\"${localCity}\"\n \033[39;49;0m"
fi;
fi;
fi;
echo -e "\033[33;49;1mDatabase type is :\"${dbType}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mDatabase url is :\"${dbUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mDatabase userName is :\"${dbUserName}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mDatabase password is :\"${dbPassword}\"\n \033[39;49;0m"
if [ "${systemEdition}" == "nanjing-no-classify" ];then
echo -e "\033[33;49;1mportalUrl is :\"${portalUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mamsUrl is :\"${amsUrl}\"\n\033[39;49;0m"
fi;
if [ "${systemEdition}" == "nanjing-classify" ];then
echo -e "\033[33;49;1mIAGUrl is :\"${IAGUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mamsUrl is :\"${amsUrl}\"\n\033[39;49;0m"
fi;
if [ "${systemEdition}" == "tianwei" ];then
echo -e "\033[33;49;1mportalUrl is :\"${portalUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1msdpAdapterUrl is :\"${sdpAdapterUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mottUrl is :\"${ottUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mIAGUrl is :\"${IAGUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mgrmUrl is :\"${grmUrl}\"\n\033[39;49;0m"
fi;
if [ "${systemEdition}" == "guangdong" ];then
if [ "${systemDeployType}" == "NGB" ];then
if [ "${rankFlag}" == "true" ];then
echo -e "\033[33;49;1mIAGUrl is :\"${IAGUrl}\"\n \033[39;49;0m"
fi;
fi;
echo -e "\033[33;49;1mportalUrl is :\"${portalUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mottUrl is :\"${ottUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mamsUrl is :\"${amsUrl}\"\n \033[39;49;0m"
echo -e "\033[33;49;1mgrmUrl is :\"${grmUrl}\"\n\033[39;49;0m"
fi;
echo -e "\033[33;49;1mPlease enter localLanguage type(1:zh_CN 2:zh_TW 3:en_US default is 1):\033[39;49;0m"
read -p "" localLanguage
if [ "${localLanguage}d" != "d" ];then
if [ "$localLanguage" == "1" ]; then
localeShort="CHINA"
localLanguage="zh_CN"
uifLanguage="zh"
elif [ "$localLanguage" == "2" ]; then
localeShort="TAIWAN"
localLanguage="zh_TW"
uifLanguage="zhTW"
elif [ "$localLanguage" == "3" ]; then
localeShort="US"
localLanguage="en_US"
uifLanguage="en"
else
localeShort="CHINA"
localLanguage="zh_CN"
uifLanguage="zh"
fi;
else
localeShort="CHINA"
localLanguage="zh_CN"
uifLanguage="zh"
fi;
echo -e "\033[33;49;1mlocalLanguage is :\"${localLanguage}\"\n\033[39;49;0m"
echo -e "\033[33;49;1mPress Y/N to confirm the Params(default is Y):\033[39;49;0m"
read -p "" inputExitFlag
if [ "${inputExitFlag}d" != "d" ];then
if [ "${inputExitFlag}" == "Y" -o "${inputExitFlag}" == "y" ]; then
exitFlag='Y'
else
exitFlag='N'
fi;
else
exitFlag='Y'
fi;
done;
fi;
# 不输入的url取默认值
if [ "${portalUrl}d" == "d" ];then
portalUrl=${defaultUrl};
fi;
if [ "${IAGUrl}d" == "d" ];then
IAGUrl=${defaultUrl};
fi;
if [ "${sdpAdapterUrl}d" == "d" ];then
sdpAdapterUrl=${defaultUrl};
fi;
if [ "${ottUrl}d" == "d" ];then
ottUrl=${defaultUrl};
fi;
if [ "${amsUrl}d" == "d" ];then
amsUrl=${defaultUrl};
fi;
if [ "${grmUrl}d" == "d" ];then
grmUrl=${defaultUrl};
fi;
# 先清空参数文件的数据,然后在将最新的参数值写入到参数文件中
if [ ! -e $PARAM_PATH ]; then
mkdir -p $PARAM_PATH
fi;
echo "systemEdition="$systemEdition > ${PARAM_PATH}${PARAM_FILE}
echo "systemDeployType="$systemDeployType >> ${PARAM_PATH}${PARAM_FILE}
echo "rankFlag="$rankFlag >> ${PARAM_PATH}${PARAM_FILE}
echo "systemLevelType="$systemLevelType >> ${PARAM_PATH}${PARAM_FILE}
echo "localCity="$localCity >> ${PARAM_PATH}${PARAM_FILE}
echo "childCitys="$childCitys >> ${PARAM_PATH}${PARAM_FILE}
echo "dbType="$dbType >> ${PARAM_PATH}${PARAM_FILE}
echo "dbUrl="$dbUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "dbUserName="$dbUserName >> ${PARAM_PATH}${PARAM_FILE}
echo "dbPassword="$dbPassword >> ${PARAM_PATH}${PARAM_FILE}
echo "IAGUrl="$IAGUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "portalUrl="$portalUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "sdpAdapterUrl="$sdpAdapterUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "ottUrl="$ottUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "amsUrl="$amsUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "grmUrl="$grmUrl >> ${PARAM_PATH}${PARAM_FILE}
echo "localLanguage="$localLanguage >> ${PARAM_PATH}${PARAM_FILE}
#替换配置文件里面的值
#1、获取需要替换的字符串信息
sed -i "s#\${systemEdition}#${systemEdition}#" ${SysConfigFilePath}
sed -i "s#\${systemEdition}#${systemEdition}#" ${webXmlFilePath}
sed -i "s#\${systemEdition}#${systemEdition}#" ${quartzFilePath}
if [ "${UifConfigFilePath}d" == "d" ];then
UifConfigFilePath=${PORTALMS_HOME}/jboss5/bin/portalMS/conf/uif-config_${systemEdition}.xml;
fi;
sed -i "s#\${IAGUrl}#${IAGUrl}#" ${UifConfigFilePath}
sed -i "s#\${portalUrl}#${portalUrl}#" ${UifConfigFilePath}
sed -i "s#\${sdpAdapterUrl}#${sdpAdapterUrl}#" ${UifConfigFilePath}
sed -i "s#\${ottUrl}#${ottUrl}#" ${UifConfigFilePath}
sed -i "s#\${amsUrl}#${amsUrl}#" ${UifConfigFilePath}
sed -i "s#\${grmUrl}#${grmUrl}#" ${UifConfigFilePath}
#2、填好appContextService.xml中的数据库spring配置文件
dbSpringFile=${databaseResPath}${datasourceType}
if [ "$dbType" == "oracle" ]; then
dbDriverclass=${oracleDriver}
dialect=${oracleDialect}
else
dbDriverclass=${mysqlDriver}
dialect=${mysqlDialect}
fi;
sed -i "s#\${dbType}#${dbType}#" ${applicatonDataSource}
sed -i "s#\${dialect}#${dialect}#" ${applicatonDataSource}
sed -i "s#\${dbDriverclass}#${dbDriverclass}#" ${dbSpringFile}
sed -i "s#\${dbUrl}#${dbUrl}#" ${dbSpringFile}
sed -i "s#\${dbUserName}#${dbUserName}#" ${dbSpringFile}
sed -i "s#\${dbPassword}#${dbPassword}#" ${dbSpringFile}
sed -i "s#\${dbType}#${dbType}#" ${dbSpringFile}
sed -i "s#\${systemDeployType}#${systemDeployType}#" ${systemDeployConfigFilePath}
sed -i "s#\${rankFlag}#${rankFlag}#" ${systemDeployConfigFilePath}
sed -i "s#\${systemLevelType}#${systemLevelType}#" ${systemDeployConfigFilePath}
sed -i "s#\${localCity}#${localCity}#" ${systemDeployConfigFilePath}
sed -i "s#\${childCitys}#${childCitys}#" ${systemDeployConfigFilePath}
sed -i "s#\${localLanguage}#${localLanguage}#" ${SysConfigFilePath}
sed -i "s#\${localLanguage}#${localLanguage}#" ${strutsFilePath}
sed -i "s#\${localeShort}#${localeShort}#" ${webXmlFilePath}
sed -i "s#\${uifLanguage}#${uifLanguage}#" ${uifSyncXmlFilePath}
echo -e "\033[32;49;1m [------------------------end config-----------] \033[39;49;0m"
}
paramNum=$#
if [ "$paramNum" != "1" -a "$paramNum" != "3" -a "$paramNum" != "5" ];then
echo "-s \"After install, startup server.\""
echo "-n \"After install, not startup server.\""
echo "-f \"Install from file, need filePath after this param\""
echo "-u \"Install from ums, need after this filePath\""
exit 1;
fi;
ISSTART=$1
if [ "$ISSTART" != "-s" -a "$ISSTART" != "-n" ]; then
echo "First parameter must be -s or -n"
exit 1;
fi;
IsInputParam=$2
if [ "${IsInputParam}d" != "d" -a "$IsInputParam" != "-f" ]; then
echo "Second parameter must be -f"
exit 1;
fi;
InputParamFile=$3
if [ ! -e $InputParamFile ]; then
echo "The param file doesn't existed."
exit 1;
fi;
InputHomeParam=$4
if [ "${InputHomeParam}d" != "d" -a "$InputHomeParam" != "-u" ]; then
echo "Second parameter must be -u"
exit 1;
fi;
InputHomePath=$5
if [ ! -e $InputHomePath ]; then
echo "The param jbossPath doesn't existed."
exit 1;
fi;
if [ "${InputHomePath}" != "" ]; then
PORTALMS_HOME=$5
export PORTALMS_HOME
else
PORTALMS_HOME="/usr/local/portalMS"
fi;
systemDeployPath=${PORTALMS_HOME}/jboss5/server/default/deploy/
SysConfigFilePath=${PORTALMS_HOME}/jboss5/bin/portalMS/conf/sysConfig.xml
systemDeployConfigFilePath=${PORTALMS_HOME}/jboss5/bin/portalMS/conf/systemDeployConfig.xml
uifSyncXmlFilePath=${PORTALMS_HOME}/jboss5/bin/portalMS/conf/uif/uif-sync-config.xml
webXmlFilePath=${PORTALMS_HOME}/jboss5/server/default/deploy/portalMS.war/WEB-INF/web.xml
quartzFilePath=${PORTALMS_HOME}/jboss5/server/default/deploy/portalMS.war/WEB-INF/classes/quartz.properties
applicatonDataSource=${PORTALMS_HOME}/jboss5/server/default/deploy/portalMS.war/WEB-INF/classes/spring/applicationcontext-datasource.xml
strutsFilePath=${PORTALMS_HOME}/jboss5/server/default/deploy/portalMS.war/WEB-INF/classes/struts/struts.xml
databaseResPath=${PORTALMS_HOME}/jboss5/bin/portalMS/conf/
if [ "${InputHomePath}" == "" ]; then
checkEnv;
fi;
install;
exit 0;
tianwei_param.properties
systemEdition=tianwei
dbType=oracle
dbUrl=jdbc:oracle:thin:@172.20.100.25:1521:orcl
dbUserName=PORTALMS_B091
dbPassword=PORTALMS_B091
portalUrl=http://172.21.11.221:48280/portalAgent/services/receiveMsg
sdpAdapterUrl=http://172.21.11.202:9898/sdpAdapter/services/dataSyncService
ottUrl=http://172.20.37.20:8080/ott-server/services/receiveMsg
IAGUrl=http://172.20.28.10:8280/services/PortalMSLevelService.PortalMSLevelServiceHttpEndpoint
grmUrl=http://172.21.13.151:8080/GRM/syncAreaIp
FKOttAdapter=http://172.20.25.22:48280/FKOttAdapter/services/receiveMsg
localLanguage=zh_CN