shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Teste de conexão


From: Gustavo Pardellas Feijó
Subject: Teste de conexão
Date: Mon, 07 Aug 2006 10:11:39 -0300
User-agent: Thunderbird 1.5.0.4 (X11/20060713)

Pessoal, desenvolvi um script que testa a conexão e, caso ela caia, 
começa a escrever um log com o horário de queda. Tão logo quanto a 
conexão se restabeleça grava no log o horário de retorno e o tempo 
aproximado em que ficou offline, em seguida envia um e-mail para o 
administrador para que ele tome ciência da perda de conexão.

Estou bem satisfeito com o script, mas é claro que os colegas com mais 
experiência podem contribuir com uma dica, linha ou comando diferente.

Segue em anexo as duas partes do script.

[]'s
-- 

;-)
chmod000
"Microsoft butterfly is their way of telling you
their system has a lot of !@#$ bugs..."

  ----------

#!/bin/bash
NAME=isconnect
DAEMON=/sbin/isconnect.sh
DESC="Is your server connect?"
PIDFILE=/var/run/$NAME.pid
PID=`ps xua | awk '/${DAEMON}/ { print $2 }' | grep -v awk`

case "$1" in
  start)
     echo -n "Starting: $NAME  "
     start-stop-daemon --start --quiet --background --make-pidfile --pidfile 
"$PIDFILE" --exec $DAEMON
     if [ $? == 0 ]
     then
       echo "[ OK ]"
     else
       echo "[ ERR ]: Something bad happens"
     fi
     ;;
  stop)
     echo -n "Stopping: $NAME  "
     start-stop-daemon --stop --quiet --pidfile /var/run/${NAME}.pid
     if [ $? == 0 ]
     then
       echo "[ OK ]"
       rm -f $PIDFILE
     else
       echo -e "[ ERR ]: Something bad happens.\n\t Trying kill -9."
       kill -9 `cat $PIDFILE` 
         if [ $? ==0 ]
         then
           echo "[ OK ]"
           rm -f $PIDFILE
         else
           echo "[ ERROR ]: Something realy bad is happen.\n This is your 
process id [ `cat $PIDFILE` ].\n You're by your own."
           exit
         fi
     fi
     ;;
  restart)
     $0 stop
     $0 start
     ;;
  *)
     echo "Usage: $0 [start || stop || restart]"
     exit
     ;;
esac


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]