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.