Files
svc.ems/bin/wxc2_omcd
2024-10-22 10:26:32 +08:00

189 lines
4.7 KiB
Bash

#!/bin/bash
### BEGIN INIT INFO
# Provides: omcd
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start omcd daemon at boot time
# Description: Start omcd daemon at boot time
### END INIT INFO
# chkconfig: 2345 98 18
# description: as following
# CVS $Id: omcd,v 1.2 2002/09/10 19:53:49 hewd Exp $
# For WXC2 OMC
# Comments to support chkconfig on RedHat Linux
userName=`whoami`
#mysql_user=`/usr/local/mssBak/script/encryption 1 "6266706d736f7a7c7b6b7f7b7f"`
#mysql_pw=`/usr/local/mssBak/script/encryption 1 "2b3a392757557b697b7e7e757b777c"`
clear_crontab()
{
echo "Clear EMS crontab"
crontab -l > /tmp/cur_crontab
sed '/backup_mss/d' /tmp/cur_crontab | sed '/audit_ems_log/d' | sed '/omcMainWatcher/d' | sed '/createMscHourlyCsta/d' | sed '/audit_mysql_log/d' | sed '/^\s*$/d' > /tmp/new_crontab
crontab -u root /tmp/new_crontab
rm -rf /tmp/cur_crontab /tmp/new_crontab
rm -rf /tmp/*.lock
}
resume_crontab()
{
echo "Resume EMS crontab"
crontab -l > /tmp/new_crontab
if test `grep -c cdr_io_proc /tmp/new_crontab` -eq 1 ; then
sed -i '/cdr_io_proc/d' /tmp/new_crontab
fi
if test `grep -c cdr_data_proc /tmp/new_crontab` -eq 1 ; then
sed -i '/cdr_data_proc/d' /tmp/new_crontab
fi
cat /usr/local/mssBak/script/cronset >> /tmp/new_crontab
sed '/^\s*$/d' /tmp/new_crontab > /tmp/new_crontab1
crontab -u root /tmp/new_crontab1
rm -rf /tmp/new_crontab /tmp/new_crontab1
}
if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then
LD_LIBRARY_PATH=/usr/local/mysql/lib ; export LD_LIBRARY_PATH
else
LD_LIBRARY_PATH=/usr/lib/mysql ; export LD_LIBRARY_PATH
fi
startProcList="iptrans omcMain paraComm subsComm logCollector omcCleaner smcli cdrCollector subsDataBackup ftpSend alarmAgent nrtrde sftpSend cstaCollector"
#alive bsscomm
stopProcList="iptrans omcMain paraComm subsComm logCollector omcCleaner smcli cdrCollector subsDataBackup ftpSend alarmAgent nrtrde sftpSend cstaCollector"
statusProcList=$stopProcList
slaveStartProcList="iptrans omcMain"
#include some functions like status,killproc
. /etc/init.d/functions
omcBinDir=/usr/local/omc/bin
cd $omcBinDir
#find omcRunMode
omcRunMode=`grep omcRunMode ./conf/omcd.conf|cut -d"=" -f2`
if [ "$omcRunMode" = "0" ] ; then
echo "+--------------------------------+"
echo "+ Running In Single EMS Mode +"
echo "+--------------------------------+"
else
echo "+--------------------------------+"
echo "+ Running In Dual EMS Mode +"
echo "+--------------------------------+"
fi
mode=$1
case "$mode" in
start)
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 2>/dev/null
if [ "$userName" != "root" ] ; then
echo "Just root user can run this sever!!"
exit 1
fi
if [ "$omcRunMode" = "0" ] ; then
for procName in $startProcList;do
if(test -x $procName) then
killall $procName 2>/dev/null
./$procName -d 2>/dev/null
echo "Starting $procName process ..."
else
echo "Can't startup $procName process"
fi
sleep 1
done
else
for procName in $slaveStartProcList;do
if(test -x $procName) then
killall $procName 2>/dev/null
./$procName -d 2>/dev/null
echo "Starting $procName process ..."
else
echo "Can't startup $procName process"
fi
sleep 1
done
fi
resume_crontab
#while [ -z `pidof omcMain` ];
#do
# sleep 1
#done
#/usr/local/omc/bin/mysql_OMCmain_Auditlog_filter
if [ -z `pidof omcMain` ] ; then
sleep 2
if [ -z `pidof omcMain` ] ; then
echo "omcMain still not starts"
else
/usr/local/omc/bin/mysql_OMCmain_Auditlog_filter
fi
else
/usr/local/omc/bin/mysql_OMCmain_Auditlog_filter
fi
#raid_package=`rpm -q sas_snmp`
#if [ `echo $raid_package |grep -c 'not'` -eq 1 ] ; then
# echo ""
#else
# echo "restart RAID related process"
# service snmpd restart
# service lsi_mrdsnmpd restart
#fi
;;
status)
for procName in $statusProcList;do
status $procName
done
;;
stop)
if [ "$userName" != "root" ] ; then
echo "Just root user can run this sever!!"
exit 1
fi
clear_crontab
for procName in $stopProcList;do
if [ `uname -r |grep -c '2.4.7-10'` -eq 1 ] ; then
killproc $procName -SIGTERM
else
/usr/bin/killall $procName
fi
echo "$procName stopped";
done
clear_crontab
clear_crontab
#`/usr/bin/mysql -u${mysql_user} -p${mysql_pw} <<_EOF_
#stop slave;
#_EOF_`
;;
restart)
$0 stop
sleep 1
$0 start
;;
version)
thisVersion=`tail -3 ../install.log |grep -v Date | awk '{print $3}'`
echo "AgrandTech EMS $thisVersion"
;;
*)
echo "AgrandTech EMS"
echo "Usage: $0 start|status|stop|restart|version"
exit 3
;;
esac
exit 0