系統日誌監控腳本,程序關閉和啓動

系統日誌監控腳本,程序關閉和啓動功能

最近由於工作原因寫了一個關於系統日誌監控腳本,監控到某些信息後,腳本中進行程序關閉和啓動的功能。

詳細內容如下:

#!/bin/sh

#current date time
DATE=`date "+%Y%m%d"`


#log file path and name
LOGFILE="log/porgram.log.$DATE"


#program name
PROGRAM="porgram"


#program start command
RESTART_PROGRAM="./porgram -d"


#search string in log
FIND_STRING="malloc ost for main hash failed"

#find string from logfile
grep  "$FIND_STRING" $LOGFILE >> grepinfo

if test $? -eq 0
then
 #found string
 echo "found"
 #kill program
 PROCESSID=`ps -ef|grep "$PROGRAM"|grep -v grep|grep -v PPID|awk '{ print $2}'`
 echo "Kill the $PROGRAM:$PROCESSID program."
 kill -9 $PROCESSID
 
 #mv logfile
 DATETIME=`date "+%H:%M:%S"`
 echo "Mv $LOGFILE $LOGFILE.bak$DATETIME"
 mv $LOGFILE $LOGFILE.bak`date "+%H:%M:%S"`

 #restart program
 while true
 do
  $RESTART_PROGRAM
  NEWPROCESSID=`ps -ef|grep "$PROGRAM"|grep -v grep|grep -v PPID|awk '{ print $2}'`
  if test $PROCESSID -gt 0
  then
   echo "$PROGRAM started"
   break
  else
   echo "try start $PROGRAM again"
  fi
 done
else
 #not found
 echo "not found"
fi


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章