monitorando um servidor

13. Re: monitorando um servidor

Geraldo Albuquerque
AprendiNoLinux

(usa Ubuntu)

Enviado em 31/03/2012 - 23:12h

Napst escreveu:

Então alexandre, eu irei utilizar um arquivo texto (contendo só ip dos servidores) e chama-lo no script e assim gerar tb um log no seu resultado..outra coisa o comando sleep ja nao faz a funçao dos intervalos de tempo?e só mais uma pergunta rsrs..o que significa $? .Obrigado mais uma vez, valeu!


Já o comando sleep faz o que se propõe, dormir, parar, esperar. Ele é diferente de um timer que poderia ter uma vida útil independente. O sleep só aguarda um tempo parado dormindo e depois faz o fluxo do programa/script seguir em frente.

O $? até onde eu sei é para controlar erros em seu script. Sempre que desejar pode fazer um teste no $? e seu retorno deve ser 0 (zero). Quando ele não retorna 0(zero) é porque a linha anterior contém um erro.


Se tem outras atribuições não sei ;)


  


14. Re: monitorando um servidor

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 02/04/2012 - 11:39h

Justamente, o $? é a pergunta feita ao último comando. Se retornar zero a execução foi concluída com sucesso.
Se vc deseja deseja incluir um arquivo externo para os servidores, vc pode faze-lo da seguinte forma (imagine que seu arquivo chama-se servers.txt):

[code]
#!/bin/bash

LOG_PING="/tmp/log_ping.txt"
for i in `cat servers.txt`
do

ping -c3 "$i"
if [ $? -eq 0 ]; then

echo "Servidor $ip_servidor OK" >> LOG_PING

else

echo "Servidor $ip_servidor NAO RESPONDE" >> LOG_PING

fi

done
[code]

Neste caso você não precisa inserir um sleep, a não ser que vc queira que a cada ping ele espere um tempo, mas não vejo necessidade para isso.

Você pode inserir a saída em um arquivo de log (/tmp/log_ping.txt). Se quiser deixar o arquivo de log mais detalhado poderia inserir data e horário tb.


15. Re: monitorando um servidor

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 02/04/2012 - 11:45h

Justamente, o $? é a pergunta feita ao último comando. Se retornar zero a execução foi concluída com sucesso.
Se vc deseja incluir um arquivo externo para os servidores, vc pode faze-lo da seguinte forma (imagine que seu arquivo chama-se servers.txt):


#!/bin/bash

LOG_PING="/tmp/log_ping.txt"
for i in `cat servers.txt`
do

ping -c3 "$i"
if [ $? -eq 0 ]; then

echo "Servidor $ip_servidor OK" >> LOG_PING

else

echo "Servidor $ip_servidor NAO RESPONDE" >> LOG_PING

fi

done



Neste caso você não precisa inserir um sleep, a não ser que vc queira que a cada ping ele espere um tempo, mas não vejo necessidade para isso.

Você pode inserir a saída em um arquivo de log (/tmp/log_ping.txt). Se quiser deixar o arquivo de log mais detalhado poderia inserir data e horário tb.




16. Re: monitorando um servidor

Diego
napst

(usa Debian)

Enviado em 02/04/2012 - 16:24h

Obrigado Alexandre e e a todos que de alguma forma me ajudaram, vcs são 10!


17. Re: monitorando um servidor

Diego
napst

(usa Debian)

Enviado em 02/04/2012 - 16:28h

Alexandre no scprit acima quem seria $ip_servidor no caso ? Obrigado mais uma vez


18. Re: monitorando um servidor

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 02/04/2012 - 16:38h

napst escreveu:

Alexandre no scprit acima quem seria $ip_servidor no caso ? Obrigado mais uma vez


Opa napst, desculpe a falha! Troque o $ip_servidor por $i

Isso é a variável atribuída à listagem de servidores do seu arquivo servers.txt





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts