Finden Sie hier ein Skript, das Sie verwenden können, Erster einen Beitrag für Ihre Cron-Job wie folgt hinzu:
$ sudo crontab -e * * * * */path/to/your/Switcher
Dies ist eine einfache Methode, die sich darauf konzentriert, jede Minute einen aktiven Server anzupingen, wenn der Server nicht erreichbar ist, wird er zum zweiten Router wechseln, der unten definiert ist.
sicherlich gibt es bessere Möglichkeit, dieses Problem auszunutzen.
$ cat> Switcher
#!/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
Ich sehe .. Ich werde dieses versuchen. Danke Jungs! Ich lese besser "Mann Cron" auch dann. =) – Suezy
Funktionsaufrufe sollten am Ende keine Parens haben. – camh
absolut korrekt, nur die erklärung sollte, ich werde das ändern ... – falstro