#!/usr/bin/env bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ptp_addr=`ifconfig ppp0 2>/dev/null | grep -e "P-[tz]-P" | cut -d":" -f3 | cut -d " " -f1` alternate_addr="google.com heise.de debian.org ubuntu.com" reconnect() { ifdown dsl-provider >/dev/null 2> /dev/null sleep 5 killall -9 pppd > /dev/null 2> /dev/null sleep 5 ifup dsl-provider >/dev/null 2> /dev/null sleep 5 ptp_addr=`ifconfig ppp0 2>/dev/null | grep -e "P-[tz]-P" | cut -d":" -f3 | cut -d " " -f1` if [ "X$ptp_addr" == "X" ] ; then echo "[ Error ]: reconnection host `hostname --long` failed at `date +\"%d.%m.%Y %H:%M:%S\"`" else echo "[ OK ]: `hostname --long` reconnected at `date +\"%d.%m.%Y %H:%M:%S\"`" fi echo "" echo "`df`" } if [ "X$ptp_addr" == "X" ] ; then echo "[ Error ]: Internetconnection seems to be down!" echo " Trying to reconnect.." echo "" reconnect else ping -c3 $ptp_addr >/dev/null 2> /dev/null rval=$? if [ $rval -ne 0 ]; then for ip_addr in $alternate_addr ; do ping -c3 $ip_addr >/dev/null 2> /dev/null if [ $? -eq 0 ]; then exit 0 fi done; echo "[ Error ]: Internetconnection seems to be down!" echo " Trying to reconnect.." echo "" reconnect fi fi exit 0;