Nov 8, 2010

script monitoring & auto start service with bash script

masih mengacu pada artikel sebelumnya ==>

-- Goal --
untuk me-monitor-ing suatu service dalam hal ini lebih di khususkan pada "port", yang entah karena apa port tersebut mati, maka service akan di restart ulang ( ato kirim email ke juragan server untuk pemberitahuan ).

-- modal --
cukup copy paster script dibawah ini. kasih akses execusi dan taruh di crontab. :D

-- script --
#!/bin/bash

#brekele.inc .: underdarkonsole.blogspot.com:.
# ^_^
# GPL
# edit lah sesui kebutuhan 

TIMEOUT=1
ATTEMPT=2
RETRY=0
PORT_SERVER="80"
logtemp=/var/log/a
logFile=/var/log/brekele.log
if [ ! -e $logtemp ]; then
   echo "done" > $logtemp
fi

p=`cat $logtemp`

cekPORT() {

  i=1
  while [ $i -le $ATTEMPT ]
  do
    if ( lsof -w -n -i TCP:$1 > /dev/null 2>&1 )
    then
        echo "ON"
        echo "done" > $logtemp
    break 1
    fi
    i=$((i+1))
    sleep 1
  done
  RETRY=$i
}

loging() {
echo "`date +"%d-%B-%Y  %r"` Port server mati" >> $logFile
#tambahkan script lain sesuai kebutuhan seperti kirim email ato kalo dah suport sms gateway bisa kirim sms :D
/etc/init.d/httpd restart
}

cekPORT $PORT_SERVER

if [ $RETRY -gt $ATTEMPT ]
then
echo "OFF"
if [ "$p" = done ]
        then
        echo " loging "
        loging
        echo "not_done" > $logtemp
fi
fi

-- cek & jajal --

untuk percobaan silahkan di coba sendiri sendiri,bisa di taruh di crontab ato bikin script PHP nya :D



0 comments:

Post a Comment

comment please ...