Senhores, eu estava precisando fazer um script pra checar se o mrtg estava vivo
aproveitei e incorporei ele ao padrao de inicializacao do freebsd.


so botar mrtg_enable=YES no rc.conf
e salvar o anexo abaixo como /usr/local/etc/mrtg.sh (com permissao de execucao)

ha suporte tambem aa diretiva de mrtg_conf=   caso queira alterar o local do 
seu arquivo de configuracao.

este anexo é muito util pra quem utiliza o mrtg como daemon pois acaba 
colocando no rc.local e isto eh muito feio.


Ate mais.
Fabricio



#!/bin/sh

name="mrtg"
command="/usr/local/bin/mrtg"
pidfile="/usr/local/etc/mrtg/mrtg.pid"
mrtg_enable=${mrtg_enable:-"NO"}
mrtg_conf=${mrtg_conf:-/usr/local/etc/${name}/${name}.cfg}

. /etc/rc.subr

rcvar=`set_rcvar`
load_rc_config ${name}

case "$1" in
start)
   if checkyesno mrtg_enable; then
     if [ -s ${pidfile} ]; then
        kill -0 `cat ${pidfile}` 2>/dev/null && \
        echo " ${name} already running!"
     else
        /bin/rm -f ${pidfile} > /dev/null 2>&1
        ${command} ${mrtg_conf}
     fi
   fi  
 ;;

reload)
   if [ -s ${pidfile} ]; then
      kill -1 `cat ${pidfile}` 2>/dev/null && \
    echo " ${name} reloaded..."
   else
      echo " ${name} not running..."
   fi
 ;;

restart)
   $0 stop
   $0 start
 ;;

check)
   if [ -s ${pidfile} ]; then
      kill -0 `cat ${pidfile}` 2>/dev/null && \
    echo " ${name} running..."
   else
      echo " ${name} not running..."
   fi
 ;;

stop)
   if [ -s ${pidfile} ]; then
      kill -9 `cat ${pidfile}` 2>/dev/null && \
      /bin/rm -f ${pidfile} > /dev/null 2>&1 && \
    echo " ${name} stoping..."
   else
      echo " ${name} not running..."
   fi
 ;;

*)
 echo "Usage: `basename $0` {start|stop|restart|reload|check}" >&2
 ;;

esac

exit 0
_______________________________________________
Freebsd mailing list
Freebsd@fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br

Responder a