Chinaunix首页 | 论坛 | 博客
  • 博客访问: 349027
  • 博文数量: 30
  • 博客积分: 4041
  • 博客等级: 上校
  • 技术积分: 975
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-15 11:06
文章分类

全部博文(30)

文章存档

2010年(6)

2009年(6)

2008年(18)

我的朋友

分类:

2010-10-08 17:31:12

程序部署于华为 RNC网管系统上,功能监控采集文件(每小时检查一次,如发现异常,则重启系统一核心进程,如当前小时已经重启过核心进程,则下小时如还有异常,则不再重启)
程序部署目录:
/export/home/szwg/check_north
 
包括核心程序 :check.sh
[下面3个文件,第一次执行check.sh后会自动产生,自建空白文件也可以]
日志文件:check_log.log 
辅助时间记录文件:date_time.conf
辅助两小时不重复重启网管核心进程之一配置文件:restart_check.conf
 
cron job 部署如下:
#pm file check by every hours
1 * * * * /export/home/szwg/check_north/check.sh GYH > /dev/null 2>&1
 
 
 
 
代码如下:
 
#!/usr/bin/bash
#-----------------------------------------------------
#  author :gyhong
#  datetime: 2010-9-20
#  version: 1.0
#  end_edit_change_datetime:2010-2-20
#-----------------------------------------------------
#config
if [ $# -eq 1 ];then
if [ $1 != "GYH" ];then
 exit 1;
fi
else
 exit 1;
fi
BASH_PATH=/export/home/szwg/check_north
G_PM_PATH=/opt/OMC/var/itf_n/FileTransferIRP/PM
LOG_FILE=${BASH_PATH}/check_log.log
DATE_TIME_FILE=${BASH_PATH}/date_time.conf
PS_CHECK_FILE=${BASH_PATH}/restart_check.conf
#PATH=${PATH}${BASH_PATH}:/lib/svc/bin/
#export PATH
export LANG=en
export TZ=PRC
cd ${BASH_PATH}
datetime=`date +"%Y%m%d_%H"`
sys_name=`hostname`
ipaddress='10.201.127.97'
#okfilename=${sys_name}_${ipaddress}_count_${datetime}.log

#//////////////
#function out put log messages
#
#//////////////
function w_log()
{
        echo "[$(date +%Y-%m-%d_%T)] $1"
}
get_datetime="`cat ${DATE_TIME_FILE} | cut -d'#' -f1 |cut -c1-9`"
datetime="`cat ${DATE_TIME_FILE} | cut -d'#' -f2`"
month_str=`echo ${get_datetime} | cut -d" " -f1`
day_str=`echo ${get_datetime} | cut -d" " -f2`
time_str=`echo ${get_datetime} | cut -d" " -f3`
datetime_str="`date +\"%a %b %e %T %Z %Y\" | cut -c5-13`#`date +"%Y-%m-%d"`"
echo ${datetime_str} > ${DATE_TIME_FILE}
#echo "${datetime}-${time_str}" | awk -F"#" '{printf("%s:",$1);}' > ${okfilename}
check_num=`ls -al ${G_PM_PATH} | awk '($6==amonth_str && $7==aday_str && substr($8,1,2)==atime_str) {print $0}' amonth_str=${month_str} aday_str=${day_str} atime_str=${time_str} | grep -v "\.$" | grep -v "xml$" | wc -l |sed "s/ //g"`
if [ ${check_num} -gt 28 ];then
    w_log "${datetime} ${month_str} ${day_str} ${time_str}  ${l_name}  OK  ${check_num}"  >> ${LOG_FILE}
 #echo "OK[${check_num}]" >> ${okfilename}
else
    w_log "${datetime} ${month_str} ${day_str} ${time_str}  ${l_name} ${l_dir} WARNING  ${check_num}"  >> ${LOG_FILE}
 #echo "WARNING[OK<29> NOW$<${check_num}>]" >> ${okfilename}
fi
if [ ${check_num} -eq 0 ];then
ps_num=`grep "ok" ${PS_CHECK_FILE} |wc -l |sed 's/ //g'`
if [ ${ps_num} -eq 0 ];then
 . /opt/OMC/svc_profile.sh
 svc_adm -cmd restartsvc IRPService
 w_log "restart IRPService" >>${LOG_FILE}
 echo "ok" > ${PS_CHECK_FILE}
fi
else
 cp /dev/null ${PS_CHECK_FILE}
fi
#/export/home/szwg/check/ipnet.sh ${okfilename}
#cat ${okfilename}
#rm -f ${okfilename}
 
 
阅读(1450) | 评论(1) | 转发(0) |
0

上一篇:无题

下一篇:技术出路在哪??

给主人留下些什么吧!~~

chinaunix网友2010-10-10 19:33:01

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com