ping
retornará rc = 1 se não receber uma resposta para todos os pacotes enviados, então algo como:
while true
do
sleep 1
ping -q -c 1 -w 1 router_address > /dev/null 2>&1 || echo $(date) No connection >> logfile
done
... fará o login em logfile
os tempos em que router_address
não estava acessível.