+ Responder ao Tópico



  1. #1
    davi
    Olá Pessoal...

    Meu crontab está programado para executar todo minuto centenas de monitorações do MRTG.
    Acontece que temos algum problema na rede interna que de vez em quando o MRTG não enxerga ninguém por alguns minutos, o suficiente para que os processos Perl encham a memória de tal forma que nada mais é possível fazer a não ser resetar o pobre micro.

    Eu estou procurando uma forma de testar a conexão antes de mandar o MRTG executar cegamente.

    Uma delas seria mandar apenas um comando snmpget para o destino a monitorar; aí eu só mando executar o comando MRTG se a resposta for positiva.

    Mas aí é que esta: como saber que a resposta foi ou não positiva automaticamente? Existe alguma variável de ambiente que me retorne um status do comando? Existe alguma sintaxe de comando que ao inves de me retornar o resultado em si, me retorna um status (tipo 1 ou 0)?

    Para ilustrar, meu servidor MRTG é um Athlon 1300, 512 Mb RAM, 20 Gb HD, RedHat 7.2.

    Abraços!!!

  2. #2
    fricardo
    Vc faz isto pelo valor de retorno da função q vc tá usando. Vc pode testar o retorno pra condição q vc quer. Veja se a página abaixo tem o q vc precisa:

    http://www.mkssoftware.com/docs/man1/snmpget.1.asp
    http://dbserv.jinr.ru/js/content/php...n.snmpget.html

    fricardo



  3. #3
    davi
    Não consegui...

    ainda tentei o seguinte:

    #!/bin/sh


    #tenta ler a mib da cpu
    snmpget -t 1 -r 1 -O q loopgerpu my_community .1.3.6.1.4.1.9.9.109.1.1.1.1.4.1 &

    # Run target file if no errors and ...

    if [ $? -eq 0 ]
    then
    echo RODAR MRTG PIAUI
    fi

    ----------------------------------------------

    Eu troquei o nome da interface loopback de propósito, é loopgerpi a verdadeira.
    Mas mesmo assim, me vem a msg pra rodar o mrtg. O q significa q o comando snmpget me da status 0 mesmo não conseguindo... E agora?

  4. #4
    davi
    PARA FICAR REGISTRADO - HOW TO!!!
    ############################
    #!/bin/sh

    comando='snmpget IP_ROUTER COMMUNITY .1.3.6.1.4.1.9.9.109.1.1.1.1.4.1'

    $comando

    if [ $? -eq 0 ]
    then
    echo 'RODAR MRTG - retorno=' $?
    else
    echo NAO RODAR MRTG
    fi
    ######################
    FONTE: http://www.tinker.ncsu.edu/LEGO/shell_help.html






Tópicos Similares

  1. Respostas: 20
    Último Post: 21-02-2017, 10:45
  2. Como captar a saída de uma função/comando do linux?
    Por Duca no fórum Linguagens de Programação
    Respostas: 6
    Último Post: 25-11-2008, 16:53
  3. Como capturar ip de uma ppp0?
    Por no fórum Servidores de Rede
    Respostas: 4
    Último Post: 19-08-2004, 11:16
  4. Como mudar a porta de FTP
    Por no fórum Servidores de Rede
    Respostas: 2
    Último Post: 25-06-2002, 20:33

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L