Nagios é um exagero para isso, IMHO. Além disso, uma das causas prováveis para essas fases offline extenuadas é a falta de tráfego de rede, portanto, o roteador fica off-line.
Isso será impedido pelo script do James, que eu apenas modificaria um pouco para evitar o download da página do Google a cada 60 segundos.
Basta substituir a linha curl google.com pelo seguinte
ping -c1 -t 5 www.google.com > /dev/null
if [ "$?" = "0" ]; then
echo "I am online" > $LOG
else
echo "Boo, the internet is broken, google doesn't answer" > $LOG
fi
ou, se você quiser apenas registrar fases offline, modifique o script completo da seguinte forma:
#!/bin/bash
LOG=/tmp/internetlog
rm -f $LOG
while ( true );
do
ping -c1 -t 5 www.google.com > /dev/null
if [ "$?" -gt "0" ]; then
echo 'date' " I am offline" >> $LOG
fi
sleep 60 ;
done
Isso substitui a chamada curl, que faz o download da página completa do google com um único ping com um tempo limite de 5 segundos, o que normalmente é suficiente.