263 lines
6.0 KiB
Bash
263 lines
6.0 KiB
Bash
#!/bin/bash
|
|
#Script to configurate dual omc
|
|
#create by Liang Hanxi 2002/8/24
|
|
#changed by hewd 2002/09/16
|
|
|
|
#my.cnf and server.conf should be in current directory
|
|
#or this script will not work
|
|
|
|
#Three file will be changed:./server.conf /etc/hosts /etc/my.cnf
|
|
#backup them at first if needed
|
|
#I will make a backup of /etc/my.cnf for you,path of which is /etc/my.cnf.bak
|
|
|
|
if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then
|
|
mysqllib_dir="/usr/local/mysql/lib"
|
|
else
|
|
mysqllib_dir=/usr/lib/mysql
|
|
fi
|
|
omcBin="/usr/local/omc/bin"
|
|
|
|
# by simon,for ubuntu 22.04
|
|
#mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"`
|
|
#mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"`
|
|
|
|
|
|
|
|
arg_1=$1
|
|
|
|
##################################################################
|
|
###### Function
|
|
##################################################################
|
|
chkHostName()
|
|
{
|
|
thisHostName=`hostname -s`
|
|
|
|
if [ `echo "$thisHostName"|grep -c '\-[01]$'` -eq 1 ] ;then
|
|
if [ `echo "$thisHostName"|grep -c '\-0$'` -eq 1 ] ;then
|
|
echo "This is Master server!!"
|
|
else
|
|
echo "This is Slave server!!"
|
|
fi
|
|
else
|
|
echo "The server's hostname must be configured like following[x is the any displayable ASCII character]"
|
|
echo "xxx-0 or xxx-1"
|
|
sleep 3
|
|
exit 1
|
|
fi
|
|
|
|
|
|
|
|
#if [ "$thisHostName" != "omc-0" ] && [ "$thisHostName" != "omc-1" ] ; then
|
|
# echo "This server's hostname is $thisHostName !!"
|
|
# echo "It must be \"omc-0\" or \"omc-1\" !! Please set it."
|
|
# sleep 3
|
|
# exit 1
|
|
#else
|
|
# if [ "$thisHostName" == "omc-0" ] ; then
|
|
# echo "This is Master server!!"
|
|
# else
|
|
# echo "This is Slave server!!"
|
|
# fi
|
|
#fi
|
|
}
|
|
|
|
checkip()
|
|
{
|
|
result=`echo "$1" |grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"`
|
|
if [ -z "$result" ];then
|
|
echo "invalid"
|
|
else
|
|
result=`ping $1 -c 1 |grep "icmp_seq="`
|
|
if [ -z "$result" ];then
|
|
echo "fail"
|
|
else
|
|
echo "ok"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
getipbyname()
|
|
{
|
|
hostlist="/etc/hosts"
|
|
|
|
[ -f $hostlist ] || exit 1
|
|
|
|
cmdline='/'$1'/{print $1}'
|
|
awkcmd="awk '$cmdline' $hostlist"
|
|
ip=`echo $awkcmd|bash`
|
|
|
|
if [ -z "$ip" ];then
|
|
echo "Can't resolve ip address of host. You can input it now:"
|
|
|
|
read ip
|
|
echo "Check ip address now.pleae wait for a while......"
|
|
rtn=`checkip $ip`
|
|
|
|
if [ "$rtn" = "invalid" ];then
|
|
echo "Invalid IP!"
|
|
exit 1
|
|
elif [ "$rtn" = "fail" ];then
|
|
echo 'Dest ip Unreachable! I(gnore)/E(xit)'
|
|
read act
|
|
case $act in
|
|
"I") echo "continue......"
|
|
;;
|
|
*) exit 1
|
|
;;
|
|
esac
|
|
fi
|
|
echo $ip' '$1'.iwv '$1>>$hostlist
|
|
fi
|
|
}
|
|
|
|
replaceValue()
|
|
{
|
|
tmpFileName=${1}_tmp
|
|
bakFileName==${1}_bak
|
|
if [ `grep -c $2 $1` -gt 0 ] ; then
|
|
sed -e 's/$2/$3/' $1 > $tmpFileName
|
|
mv $1 $bakFileName
|
|
rm $1
|
|
mv $tmpFileName $1
|
|
fi
|
|
}
|
|
|
|
##################################################################
|
|
cd $omcBin
|
|
#check hostname,must =xxx-0 or xxx-1
|
|
chkHostName ""
|
|
|
|
./changehostname
|
|
|
|
if [ "$arg_1" == "-auto" ] ; then
|
|
runMode=2
|
|
else
|
|
echo "+-------Running Mode------+"
|
|
echo "| 1.Single EMS |"
|
|
echo "| 2.Dual EMS |"
|
|
echo "+-------------------------+"
|
|
echo -n "Please select EMS running mode(1/2):"
|
|
read runMode
|
|
echo ""
|
|
fi
|
|
|
|
case "$runMode" in
|
|
'1')
|
|
echo "You have selected 'Single EMS' mode"
|
|
echo ""
|
|
#my.conf
|
|
hostName='single'
|
|
#mv -f /etc/my.cnf /etc/my.cnf_bak
|
|
cp -f ../config/mariadb-50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
chmod 644 /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
echo "set configuration file: /etc/mysql/mariadb.conf.d/50-server.cnf ok!"
|
|
|
|
#hosts
|
|
#mv /etc/hosts /etc/hosts_bak
|
|
#cp ../config/hosts /etc/hosts
|
|
#chmod 644 /etc/hosts
|
|
#echo "set config file: /etc/hosts ok!"
|
|
|
|
#server.conf
|
|
mv ./conf/server.conf ./conf/server.conf_bak
|
|
cp ../config/server.conf ./conf/server.conf
|
|
chmod 644 ./conf/server.conf
|
|
echo "set configuration file: ./conf/server.conf ok!"
|
|
|
|
#omcd.conf
|
|
mv ./conf/omcd.conf ./conf/omcd.conf_bak
|
|
cp ../config/omcd.conf_$hostName ./conf/omcd.conf
|
|
chmod 644 ./conf/omcd.conf
|
|
echo "set configuration file: ./conf/omcd.conf ok!"
|
|
;;
|
|
'2')
|
|
echo "You have selected 'Dual EMS' mode"
|
|
echo ""
|
|
|
|
#reset database sync
|
|
#/usr/local/mysql/bin/mysql -u$mysql_user -p$mysql_pw <<_EOF_
|
|
# reset master;
|
|
# reset slave;
|
|
#_EOF_
|
|
|
|
#get hostname
|
|
hostName='single'
|
|
|
|
#my.conf
|
|
if [ -f /etc/my.cnf ] ; then
|
|
mv -f /etc/my.cnf /etc/my.cnf_bak
|
|
fi
|
|
cp -f ../config/mariadb-50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
chmod 644 /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
echo "set configuration file: /etc/mysql/mariadb.conf.d/50-server.cnf ok!"
|
|
|
|
#hosts
|
|
#mv /etc/hosts /etc/hosts_bak
|
|
#cp ../config/hosts /etc/hosts
|
|
#chmod 644 /etc/hosts
|
|
#echo "set config file: /etc/hosts ok!"
|
|
|
|
#server.conf
|
|
mv ./conf/server.conf ./conf/server.conf_bak
|
|
cp ../config/server.conf ./conf/server.conf
|
|
chmod 644 ./conf/server.conf
|
|
echo "set configuration file: ./conf/server.conf ok!"
|
|
|
|
#omcd.conf
|
|
hostName=`hostname -s|sed 's/^.*-/omc-/'`
|
|
mv ./conf/omcd.conf ./conf/omcd.conf_bak
|
|
cp ../config/omcd.conf_$hostName ./conf/omcd.conf
|
|
chmod 644 ./conf/omcd.conf
|
|
echo "set configuration file: ./conf/omcd.conf ok!"
|
|
;;
|
|
*)
|
|
echo "Invalid input,Exited."
|
|
exit
|
|
;;
|
|
esac
|
|
|
|
#reset database sync
|
|
if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then
|
|
mysqlBinDir=/usr/local/mysql/bin
|
|
else
|
|
mysqlBinDir=/usr/bin
|
|
fi
|
|
# by simon,for ubuntu 22.04
|
|
#$mysqlBinDir/mysql -u$mysql_user -p$mysql_pw <<_EOF_
|
|
# slave stop;
|
|
# reset master;
|
|
# reset slave;
|
|
#_EOF_
|
|
initDir=/etc/init.d
|
|
service mysql stop
|
|
if [ -n "`pidof mysqld`" ] ;then
|
|
kill -9 `pidof mysqld`
|
|
fi
|
|
service mysql start
|
|
|
|
if [ "$2" == "install" ] ; then
|
|
echo " "
|
|
else
|
|
serivce omcd restart
|
|
fi
|
|
|
|
exit 1
|
|
|
|
##############################
|
|
#echo "configurate /etc/my.cnf......"
|
|
#cp ../config/my.cnf_
|
|
|
|
#echo "#!/bin/sed -f" > tmpconf.sed
|
|
#echo "/master-host/ c\\" >> tmpconf.sed
|
|
#echo "master-host = "$mysql_master >>tmpconf.sed
|
|
|
|
#echo "/server-id/ c\\" >> tmpconf.sed
|
|
#echo "server-id = "$mysql_id >>tmpconf.sed
|
|
|
|
#mv -f /etc/my.cnf /etc/my.cnf.bak
|
|
|
|
#chmod 777 tmpconf.sed
|
|
#tmpconf.sed my.cnf > /etc/my.cnf
|
|
#rm -f tmpconf.sed
|
|
##############################
|