fix: opt install shell script

This commit is contained in:
AGT EMS
2025-06-18 16:14:01 +08:00
parent 546886e55d
commit 796b59f762

View File

@@ -19,8 +19,7 @@ myShowTitle()
#echo -e "10  WELCOME to INSTALL AGrandTech litCore Soft Switch EMS $thisVersion ! #echo -e "10  WELCOME to INSTALL AGrandTech litCore Soft Switch EMS $thisVersion !
#" #"
echo "+-----------------------------------------------------------------------------+" echo "+-----------------------------------------------------------------------------+"
echo -e "60  $1 echo -e "60  $1"
"
echo "+-----------------------------------------------------------------------------+" echo "+-----------------------------------------------------------------------------+"
} }
@@ -41,14 +40,11 @@ $2"
myShowResult() myShowResult()
{ {
if [ "$1" = "OK" ] || [ "$1" = "ok" ] ; then if [ "$1" = "OK" ] || [ "$1" = "ok" ] ; then
echo "[ OK ] echo "[ OK ]$2"
$2"
elif [ "$1" == "FAILED" ] || [ "$1" == "failed" ] ; then elif [ "$1" == "FAILED" ] || [ "$1" == "failed" ] ; then
echo "[FAILED] echo "[FAILED]$2"
$2"
else else
echo "[ $1 ] echo "[ $1 ]$2"
$2"
fi fi
} }
@@ -80,7 +76,7 @@ upGradeDb()
chmod -R 755 $dataDir/ chmod -R 755 $dataDir/
echo "CREATE DATABASE IF NOT EXISTS $1;" | $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw echo "CREATE DATABASE IF NOT EXISTS $1;" | $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw
# 妿žœæœªæ<EFBFBD><EFBFBD>ä¾è¡¨å<EFBFBD><EFBFBD>,则获å<EFBFBD>æ•°æ<EFBFBD>®åº“中的所有表 # Check if the database exists
if [ -z "$2" ]; then if [ -z "$2" ]; then
tableArr=`echo "show tables from $1_BK;" | $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw | sed -e '1d'` tableArr=`echo "show tables from $1_BK;" | $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw | sed -e '1d'`
else else
@@ -108,7 +104,7 @@ upGradeDb()
fi fi
done done
# 如果是 CSTA_DB,则跳过数æ<C2B0>®æ<C2AE>å…¥ # Check if the database is CSTA_DB
if [ $1 == "CSTA_DB" ]; then if [ $1 == "CSTA_DB" ]; then
#echo "Skipping data insertion for $1.$table" #echo "Skipping data insertion for $1.$table"
continue continue
@@ -122,7 +118,7 @@ upGradeDb()
#cat /tmp/tmpContent | sed -e s/'\\\N'/NULL/g | sed -e s/\'NULL\'/NULL/g |awk '{print "replace into " "'$1'" "." "'$table'" " (" "'$tmpStr'" ") values (" "'$tmpChar'" $0 "'$tmpChar'" ");"}' #cat /tmp/tmpContent | sed -e s/'\\\N'/NULL/g | sed -e s/\'NULL\'/NULL/g |awk '{print "replace into " "'$1'" "." "'$table'" " (" "'$tmpStr'" ") values (" "'$tmpChar'" $0 "'$tmpChar'" ");"}'
cat /tmp/tmpContent | sed -e s/'\\\N'/NULL/g | sed -e s/\'NULL\'/NULL/g |awk '{print "replace into " "'$1'" "." "'$table'" " (" "'$tmpStr'" ") values (" "'$tmpChar'" $0 "'$tmpChar'" ");"}' |$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw cat /tmp/tmpContent | sed -e s/'\\\N'/NULL/g | sed -e s/\'NULL\'/NULL/g |awk '{print "replace into " "'$1'" "." "'$table'" " (" "'$tmpStr'" ") values (" "'$tmpChar'" $0 "'$tmpChar'" ");"}' |$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw
else else
# 如果是 CSTA_DB,则跳过数æ<C2B0>®æ<C2AE>å…¥ # Check if the database is CSTA_DB
if [ "$1" == "CSTA_DB" ]; then if [ "$1" == "CSTA_DB" ]; then
#echo "Skipping data insertion for $1.$table" #echo "Skipping data insertion for $1.$table"
continue continue
@@ -345,8 +341,6 @@ if [ -n "`pidof mysqld`" ] ;then
kill -9 `pidof mysqld` kill -9 `pidof mysqld`
fi fi
############################################################################### ###############################################################################
# 2.Change system configure # 2.Change system configure
############################################################################### ###############################################################################
@@ -484,13 +478,13 @@ cp -Rf $srcWebDir/$omcWebName $dstWebDir/
# Restore alto_logo_40.gif # Restore alto_logo_40.gif
if [ -f $omcBakDir/$omcWebName/images/alto_logo_40.gif ]; then if [ -f $omcBakDir/$omcWebName/images/alto_logo_40.gif ]; then
cp -f $omcBakDir/$omcWebName/images/alto_logo_40.gif $dstWebDir/$omcWebName/images/ cp -f $omcBakDir/$omcWebName/images/alto_logo_40.gif $dstWebDir/$omcWebName/images/
echo "Restored alto_logo_40.gif" echo -n "alto_logo_40.gif.."
fi fi
# Restore alto_logo_80.gif # Restore alto_logo_80.gif
if [ -f $omcBakDir/$omcWebName/images/alto_logo_80.gif ]; then if [ -f $omcBakDir/$omcWebName/images/alto_logo_80.gif ]; then
cp -f $omcBakDir/$omcWebName/images/alto_logo_80.gif $dstWebDir/$omcWebName/images/ cp -f $omcBakDir/$omcWebName/images/alto_logo_80.gif $dstWebDir/$omcWebName/images/
echo "Restored alto_logo_80.gif" echo -n "alto_logo_80.gif.."
fi fi
#ln -s $dstWebDir/omcWeb $dstWebDir/$omcWebName #ln -s $dstWebDir/omcWeb $dstWebDir/$omcWebName
@@ -534,8 +528,6 @@ needRwxDirList="ftpFile db_backup"
for tmpDir in $needRwxDirList; do for tmpDir in $needRwxDirList; do
chmod -R 755 $dstWebDir/$tmpDir chmod -R 755 $dstWebDir/$tmpDir
done done
#chown -R mysql $dstWebDir/db_backup
#chgrp -R mysql $dstWebDir/db_backup
myShowResult "OK" myShowResult "OK"
chmod 777 $dstWebDir/ftpFile chmod 777 $dstWebDir/ftpFile
@@ -544,16 +536,21 @@ if [ $isInstalledOmc -gt 0 ] ; then
echo -n "Backup database files...." echo -n "Backup database files...."
mkdir -p $omcBakDir/data mkdir -p $omcBakDir/data
needBakDbList=`ls -l $dstDataDir/|grep drwx|awk '{print $9}'` needBakDbList=`ls -l $dstDataDir/|grep drwx|awk '{print $9}'`
count=0
for tmpDb in $needBakDbList ; do for tmpDb in $needBakDbList ; do
cp -rf $dstDataDir/$tmpDb $omcBakDir/data cp -rf $dstDataDir/$tmpDb $omcBakDir/data
count=$((count + 1))
if [ $((count % 2)) -eq 1 ]; then
echo -n "." echo -n "."
fi
done done
myShowResult "OK" myShowResult "OK"
else else
myShowTitle "Copying database files" myShowTitle "Copying database files"
fi fi
#step 3.1:Copy database files
if [ $installMode == "1" ] ; then
#Copy database file #Copy database file
echo -n "Copy database files..." echo -n "Copy database files..."
@@ -562,19 +559,8 @@ if [ -d $dstDataDir/ESME_DB ] ;then
esme_exist=1 esme_exist=1
fi fi
if [ ! -d $dstDataDir ] ;then needCopyDirList="mysql performance_schema sys phpmyadmin"
mkdir $dstDataDir #needCopyDirList=`ls $srcDataDir`
chmod 755 -R $dstDataDir
chown mysql -R $dstDataDir
chgrp mysql -R $dstDataDir
fi
# by 2024/08/30 lai:order to keep sysUser
#rm -rf $dstDataDir/*
find $dstDataDir -type f ! -path "$dstDataDir/OMC_PUB/sysUser.MYD" ! -path "$dstDataDir/OMC_PUB/sysUser.MYI" ! -path "$dstDataDir/OMC_PUB/sysUser.frm" ! -path "$dstDataDir/OMC_PUB/omcPubVarConf.MYD" ! -path "$dstDataDir/OMC_PUB/omcPubVarConf.MYI" ! -path "$dstDataDir/OMC_PUB/omcPubVarConf.frm" -exec rm -f {} \;
#needCopyDirList="mysql OMC* OBJ_* CDR_DB CSTA_DB AUC_DB HLR_DB EIR_DB PPS_DB VLR_DB VMS_DB MNP_DB OPR_DB SMCLI MME_DB UDM_DB OBJ_361 OBJ_362 OBJ_363 OBJ_365 OBJ_366 SPGW_DB"
needCopyDirList=`ls $srcDataDir`
#echo $needCopyDirList; #echo $needCopyDirList;
for tmpDir in $needCopyDirList ; do for tmpDir in $needCopyDirList ; do
@@ -582,22 +568,6 @@ for tmpDir in $needCopyDirList ; do
echo -n "." echo -n "."
done done
# by 2024/08/30 lai:order to keep sysUser
# for tmpDir in $needCopyDirList; do
# if [[ $tmpDir == "OMC_PUB" ]]; then
# mkdir -p "$dstDataDir/$tmpDir"
# if [[ ! -e "$dstDataDir/$tmpDir/sysUser.MYD" && ! -e "$dstDataDir/$tmpDir/sysUser.MYI" && ! -e "$dstDataDir/$tmpDir/sysUser.frm" ]]; then
# cp -Rf "$srcDataDir/$tmpDir/"* "$dstDataDir/$tmpDir/"
# else
# find "$srcDataDir/$tmpDir" -type f ! -name 'sysUser.MYD' ! -name 'sysUser.MYI' ! -name 'sysUser.frm' -exec cp -Rf {} "$dstDataDir/$tmpDir/" \;
# fi
# else
# cp -Rf "$srcDataDir/$tmpDir" "$dstDataDir/"
# fi
# echo -n "."
# done
if [ "$esme_exist" == 1 ] ;then if [ "$esme_exist" == 1 ] ;then
mv -f /tmp/ESME_DB $dstDataDir mv -f /tmp/ESME_DB $dstDataDir
fi fi
@@ -629,24 +599,30 @@ else
myShowTitle "Can not Upgrade EMS.You have not installed the mysql" myShowTitle "Can not Upgrade EMS.You have not installed the mysql"
exit exit
fi fi
myShowResult "OK"
fi
#step 2.2:Upgrade databases #step 3.2:Upgrade databases
if [ "$installMode" == "2" ] ; then if [ "$installMode" == "2" ] ; then
myShowTitle "Upgrade EMS databases"
service mysql restart
upgradeSqlDir=$srcSqlDir/upgrade upgradeSqlDir=$srcSqlDir/upgrade
echo "Upgrade EMS databases ..."
dbScriptList=`ls $upgradeSqlDir/*.sql` dbScriptList=`ls $upgradeSqlDir/*.sql`
for dbScript in $dbScriptList; do for dbScript in $dbScriptList; do
echo -n "Executing $dbScript ... " dbFileName=`basename $dbScript`
echo -n "Executing $dbFileName ... "
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw < "$dbScript" $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw < "$dbScript"
echo "done" myShowResult "OK"
done done
chown -R mysql $dstDataDir/ chown -R mysql $dstDataDir/
chgrp -R mysql $dstDataDir/ chgrp -R mysql $dstDataDir/
chmod -R 755 $dstDataDir/ chmod -R 755 $dstDataDir/
echo -n "Upgrade EMS databases ...."
myShowResult "OK" myShowResult "OK"
fi fi
#step 4:Copy config files #step 4:Copy config files
myShowTitle "Copying configuration and tools files"
echo -n "Copy configuration files ...." echo -n "Copy configuration files ...."
mkdir -p $dstConfDir mkdir -p $dstConfDir
cp -r $dstConfDir $omcBakDir/ cp -r $dstConfDir $omcBakDir/
@@ -670,14 +646,6 @@ if [ ! -f /usr/bin/expect ] && [ ! -f /usr/local/bin/expect ] ;then
cp -f $srcToolsDir/expect/expect /usr/local/bin cp -f $srcToolsDir/expect/expect /usr/local/bin
chmod 755 /usr/bin/expect chmod 755 /usr/bin/expect
chmod 755 /usr/local/bin/expect chmod 755 /usr/local/bin/expect
#rm -rf /usr/bin/expect
#rm -rf /usr/local/bin/expect
#expect_package=`dpkg -l expect`
#if [ `echo $expect_package |grep -c 'not'` -eq 1 ] ; then
# rpm -ivh expect-5.42.1-1.i386.rpm
#else
# `rpm -e $expect_package`
# rpm -ivh expect-5.42.1-1.i386.rpm
fi fi
#install phpMyAdmin #install phpMyAdmin
@@ -695,10 +663,8 @@ rm -rf $dstWebDir/phpMyAdmin.tgz
#mysql -u${USER} -e "${sql_phpmyadmin_user}" #mysql -u${USER} -e "${sql_phpmyadmin_user}"
myShowResult "OK" myShowResult "OK"
# configure ems # configure ems
#mkdir -p /tftpboot myShowTitle "Configuring EMS"
#chmod 777 /tftpboot
echo -n "Configuring EMS ..." echo -n "Configuring EMS ..."
cd $srcDir cd $srcDir
@@ -733,11 +699,6 @@ cp -f $dstConfDir/*.key $httpdConfDir/
cp -f $dstConfDir/*.csr $httpdConfDir/ cp -f $dstConfDir/*.csr $httpdConfDir/
#update php.ini #update php.ini
#if [ `uname -r |grep -c '2.4.7-10'` -lt 1 ] ; then
# mv /etc/php.ini /etc/php.ini.bak
#cp -f $dstConfDir/php.ini /usr/local/lib
#cp -f $dstConfDir/php.ini /etc/php.ini
#fi
cp -f $dstConfDir/php.ini $phpIniDir/php.ini cp -f $dstConfDir/php.ini $phpIniDir/php.ini
cp -f $dstConfDir/php.ini $phpCliiDir/php.ini cp -f $dstConfDir/php.ini $phpCliiDir/php.ini
@@ -751,7 +712,7 @@ cp -f $dstConfDir/rsyncd.conf /etc/
chmod 644 /etc/rsyncd.conf chmod 644 /etc/rsyncd.conf
myShowResult "OK" myShowResult "OK"
#step :Copy mssBak files #step 5:Copy mssBak files
echo -n "Copy mssBak files ...." echo -n "Copy mssBak files ...."
mkdir -p $dstMssBakScriptDir mkdir -p $dstMssBakScriptDir
mkdir -p $dstMssBakDataDir mkdir -p $dstMssBakDataDir
@@ -770,49 +731,34 @@ cp -rf $srcMssBakScriptDir/* $dstMssBakScriptDir/
chmod -R 755 $dstMssBakDataDir chmod -R 755 $dstMssBakDataDir
chmod 700 $dstMssBakScriptDir/* chmod 700 $dstMssBakScriptDir/*
#step 5:Create log dir #step 6:Create log dir
echo -n "Create log directory ...." echo -n "Create log directory ...."
mkdir -p /usr/local/omc/log/ mkdir -p /usr/local/omc/log/
myShowResult "OK" myShowResult "OK"
#step 6:Copy source files
#if ( test -d $srcSrcDir ) then
# echo "Copy sources files ...."
# rm -rf $dstSrcDir
# rm -rf $dstRelsDir
# cp -rf $srcSrcDir $dstSrcDir
# cp -rf $srcRelsDir $dstRelsDir
#fi
#Step 7:set auto run service #Step 7:set auto run service
echo "Set auto run ...." myShowTitle "Set auto run service"
serviceList="omcd chkDb" echo -n "Set auto run ...."
serviceList="omcd" serviceName="omcd"
for serviceName in $serviceList; do echo -n "update $serviceName service..."
#if [ `chkconfig --list |grep -c $serviceName` -gt 0 ] ; then
echo "update $serviceName ...."
#chkconfig --del $serviceName #chkconfig --del $serviceName
update-rc.d -f $serviceName remove update-rc.d -f $serviceName remove
#fi
done
rm -f $initDir/omcd rm -f $initDir/omcd
ln -fs $dstBinDir/$omcdName $initDir/omcd ln -fs $dstBinDir/$omcdName $initDir/omcd
#chkconfig --add omcd #chkconfig --add omcd
#update-rc.d omcd defaults #update-rc.d omcd defaults
cp $dstConfDir/omcd.service /usr/lib/systemd/system/ cp $dstConfDir/omcd.service /usr/lib/systemd/system/
systemctl enable omcd.service systemctl enable omcd.service > /dev/null 2>&1
runLevels="2 3 4 5" runLevels="2 3 4 5"
for level in $runLevels; do for level in $runLevels; do
mv -f /etc/rc${level}.d/S01omcd /etc/rc${level}.d/S99omcd mv -f /etc/rc${level}.d/S01omcd /etc/rc${level}.d/S99omcd
done done
myShowResult "OK"
#rm -f $initDir/chkDb
#ln -fs $dstBinDir/chkDb $initDir/chkDb
#chkconfig --add chkDb
#Step 8:set omc's run mode #Step 8:set omc's run mode
#$initDir/mysql start #$initDir/mysql start
myShowTitle "Set EMS run mode"
service mysql start service mysql start
if [ "$isAutoInstall" == "0" ] ; then if [ "$isAutoInstall" == "0" ] ; then
$dstBinDir/setRunMode space install $dstBinDir/setRunMode space install
@@ -826,23 +772,23 @@ cat ./emsVersion >>$omcDir/install.log
echo "$installDate $omcName $thisVersion" >> $omcDir/install.log echo "$installDate $omcName $thisVersion" >> $omcDir/install.log
echo "-------------------------------------- " >> $omcDir/install.log echo "-------------------------------------- " >> $omcDir/install.log
#step 10:Initial the OMC_PUB.omcPubVarConf table #step 10: install EMS databases
if [ "$installMode" == "1" ] ; then if [ "$installMode" == "1" ] ; then
myShowTitle "Install EMS databases"
service mysql restart
installSqlDir=$srcSqlDir/install installSqlDir=$srcSqlDir/install
echo "Begin to init the EMS databases ..."
dbScriptList=`ls $installSqlDir/*.sql` dbScriptList=`ls $installSqlDir/*.sql`
for dbScript in $dbScriptList; do for dbScript in $dbScriptList; do
# Get the database name from the script file name # Get the database name from the script file name
dbFileName=$(basename "$dbScript") dbFileName=$(basename "$dbScript")
dbName="${dbFileName%%.sql}" # Remove the .sql extension dbName="${dbFileName%%.sql}" # Remove the .sql extension
echo -n "Creating database $dbName ... " echo -n "Creating database $dbName and executing $dbFileName ... "
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw -e "CREATE DATABASE IF NOT EXISTS \`$dbName\` DEFAULT CHARACTER SET utf8mb4;" $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw -e "CREATE DATABASE IF NOT EXISTS \`$dbName\` DEFAULT CHARACTER SET utf8mb4;"
echo "done"
echo -n "Executing $dbScript on $dbName ... "
$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw "$dbName" < "$dbScript" $mysqlBinDir/mysql -u$mysql_user -p$mysql_pw "$dbName" < "$dbScript"
echo "done" myShowResult "OK"
done done
echo "End to init the EMS databases." echo -n "Install EMS databases ... "
myShowResult "OK"
fi fi
#Get the original conf file back #Get the original conf file back
@@ -860,13 +806,18 @@ if [ "$installMode" == "2" ] ; then
if [ -f /usr/local/cdr_data_proc ] ;then if [ -f /usr/local/cdr_data_proc ] ;then
rm -rf /usr/local/omc/bin/dual/cdr_data_proc rm -rf /usr/local/omc/bin/dual/cdr_data_proc
mv /usr/local/cdr_data_proc /usr/local/omc/bin/dual/ mv /usr/local/cdr_data_proc /usr/local/omc/bin/dual/
chmod 777 /usr/local/omc/bin/dual/cdr_data_proc
fi fi
if [ $isCentOS -eq 1 ]; then if [ $isCentOS -eq 1 ]; then
if [ -d /usr/local/omc/bin/dual/cdr_io_proc ] ;then
chown -R www:omc /usr/local/omc/bin/dual/cdr_data_proc chown -R www:omc /usr/local/omc/bin/dual/cdr_data_proc
fi
else else
if [ -d /usr/local/omc/bin/dual/cdr_data_proc ] ;then
chown -R www-data:www-data /usr/local/omc/bin/dual/cdr_data_proc chown -R www-data:www-data /usr/local/omc/bin/dual/cdr_data_proc
fi fi
chmod 777 /usr/local/omc/bin/dual/cdr_data_proc fi
fi fi
chmod -R 755 /usr/local/omc/bin/dual chmod -R 755 /usr/local/omc/bin/dual
@@ -913,8 +864,8 @@ service apache2 start
$srcBinDir/changehostname $srcBinDir/changehostname
#install Intel raid service #install Intel raid service
myShowTitle "Install RAID service"
raid_package=`dpkg -l sas_snmp` raid_package=`dpkg -l sas_snmp`
if [ `echo $raid_package |grep -c 'not'` -eq 1 ] ; then if [ `echo $raid_package |grep -c 'not'` -eq 1 ] ; then
echo "Do you want to install the service of RAID(y/n)" echo "Do you want to install the service of RAID(y/n)"
@@ -939,7 +890,6 @@ _EOF_
fi fi
else else
echo -n "Do you want to open the service of RAID(y/n)" echo -n "Do you want to open the service of RAID(y/n)"
read sureInstallRaid read sureInstallRaid
if [ "$sureInstallRaid" == "y" ] || [ "$sureInstallRaid" == "Y" ] ; then if [ "$sureInstallRaid" == "y" ] || [ "$sureInstallRaid" == "Y" ] ; then
@@ -951,50 +901,23 @@ _EOF_
UPDATE OMC_PUB.elementExistConf SET existFlag='0' WHERE elementTypeNo='234'; UPDATE OMC_PUB.elementExistConf SET existFlag='0' WHERE elementTypeNo='234';
_EOF_ _EOF_
fi fi
fi fi
# Be sure to restart the mysql # Be sure to restart the mysql
#rm -rf /var/lock/subsys/msyql
#rm -rf /var/lib/mysql
if [ -n "`pidof mysqld`" ] ;then if [ -n "`pidof mysqld`" ] ;then
kill -9 `pidof mysqld` kill -9 `pidof mysqld`
fi fi
chown -R mysql /usr/local/mysql chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysql chgrp -R mysql /usr/local/mysql
#/etc/init.d/mysql start
service mysql start service mysql start
chown -R mysql /var/lib/mysql chown -R mysql /var/lib/mysql
chgrp -R mysql /var/lib/mysql chgrp -R mysql /var/lib/mysql
#mkdir -p /var/run/mysqld
#ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock
#ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
############################################################################### ###############################################################################
# 4. EMS Install Finished # 4. EMS Install Finished
############################################################################### ###############################################################################
myShowTitle "EMS Installation Process is complete" myShowTitle "EMS Installation Process is complete"
#if [ `echo $PATH | grep -c '/etc/rc.d/init.d'` -eq 1 ] ;then
#
#
#echo "Do you want to reboot(y/n)"
#read sureReboot
#if [ "$sureReboot" != "y" ] && [ "$sureReboot" != "Y" ] ; then
#if [ "$installMode" == "2" ] ; then
#service omcd start
#fi
#exit
#else
#myShowTitle "Rebooting Server....."
#init 6
#fi
#else
#myShowTitle "Rebooting Server....."
#init 6
#fi
exit exit