Necesito un script Bash (o un shell simple) para poner un cronjob que comprueba cada minuto si Internet está activo.Script Bash para (más o menos) verificar de manera confiable si Internet está activo
Esto es cómo lo hice:
#! /bin/sh
host1=google.com
host2=wikipedia.org
curr_date=`date +"%Y%m%d%H%M"`
echo -n "${curr_date};"
((ping -w5 -c3 $host1 || ping -w5 -c3 $host2) > /dev/null 2>&1) &&
echo "up" || (echo "down" && exit 1)
¿Cómo hacerlo? ¿A qué hosts harías ping?
Aclaraciones:
Por "Internet es hasta", me refiero a mi conexión internet.
Por " arriba", que significa tener conexión utilizable (no importa realmente si estamos hablando de ser el DNS hacia abajo o la conexión es realmente muy lento [cuenta el tiempo de espera para
-w
]). Esa es también la razón por la que no incluí ningún IP sino solo hosts.
¿Debo también hacer ping Stack Overflow? Quiero decir, si no puedo acceder a Google, Wikipedia o Stack Overflow, no quiero Internet: p
Google es lo que siempre utilizo para probar si tengo una conexión. –
8.8.8.8 sería bueno también, especialmente debido a que es multidifusión. –
Internet en general es generalmente "alto". Sin embargo, su conexión a ella puede no serlo. ;-) –