Cuando queremos «hacer algo» con algún equipo de nuestra red y éste no responde es por que probablemente este apagado/desconectado/colgado/etc, ping es lo primero que ejecutamos para confirmar nuestras sospechas.
Pero, y si hemos preparado un script para «hacer algo» (como sacar un backup) periódicamente debemos asegurarnos que el equipo esta conectado y encendido antes de meter la pata.
Muchos de los scripts que he desarrollado usan php-cli, me parece mas amigable que bash por que además puedo leer y escribir en bases de datos y también usar ncurses, es una maravilla!
Intentando con varios métodos, finalmente tengo algo que es de utilidad para determinar si un host esta «vivo» mediante un ping desde PHP:
getMessage();
}
else
{
$ping->setArgs(array('count' => 1)); //Envios = 1
$result = $ping->ping($host);
if($result->getReceived() == 1 ) //Si recibimos lo
{
echo "El equipo esta encendido!";
}
else
{
echo "El equipo esta apagado!";
}
}
?>
Antes necesitamos tener instalado php-pear y Net_Ping:
ivancp@ubuntu~$ sudo apt-get install php-pear
ivancp@ubuntu~$ sudo pear install Net_Ping
Espero les sirva!