Encuentre aquí una secuencia de comandos que se pueden utilizar, primero agregar una entrada a su tarea en el cron como esto:
$ sudo crontab -e * * * * */ruta/a/su/selector de
Este es un método simple que reside en hacer ping continuamente a un servidor vivo cada minuto, si el servidor no es accesible, cambiará al segundo enrutador definido más abajo.
seguramente hay una mejor manera de explotar este problema.
$ cat> conmutador
#!/bin/sh
route=`which route`
ip=`which ip`
# define your email here
mail="[email protected]"
# We define our pingable target like 'yahoo' or whatever, note that the host have to be
# reachable every time
target="www.yahoo.com"
# log file
file="/var/log/updown.log"
# your routers here
router1="192.168.0.1"
router2="192.168.0.254"
# default router
default=$($ip route | awk '/default/ { print $3 }')
# ping command
ping -c 2 ${target}
if [ $? -eq 0 ]; then
echo "`date +%Y%m%d-%H:%M:%S`: up" >> ${file}
else
echo "`date +%Y%m%d-%H:%M:%S`: down" >> ${file}
if [ ${default}==${router1} ]; then
${route} del default gw ${router1}
${route} add default gw ${router2}
elif [ ${default}==${router2} ]; then
${route} del default gw ${router2}
${route} add default gw ${router1}
fi
# sending a notification by mail or may be by sms
echo "Connection problem" |mail -s "Changing Routing table" ${mail}
fi
Ya veo .. Voy a probar este. ¡Gracias chicos! Será mejor que le lea sobre "hombre cron" también. =) – Suezy
llamadas de función no deberían tener parens al final. – camh
absolutamente correcto, solo la declaración debería, cambiaré eso ... – falstro