Jump to content

Recommended Posts

Posted

Парни. У кого нибудь есть скрипт, описание скрипта ниже.

На сервере под управлением FreeBSD есть 2 канала в Мир.

Суть скрипта такова, Скрипт пингует указанный адресс, если пинг не прошел 3-4 пакета, он удаляет маршрут default основного шлюза, и переписывает маршрут default на другой шлюз.

Вот как то так. Может не столь корректно сформировал вопрос, ну соть понятно.

У кого есть, поделитесь.

Спасибо.

Posted

Да и пинговать ya.ru.. :) В прошлый раз СТОЛЬКО народу попреключалось на резервы, когда яндекс полег.

 

А сам скрипт - 1 класс вторая четверть.

 

вот, за 2 минуты на коленке. то, что впишете вместо ya.ru зарутить на 1 оператора, чтобы не хлопало туда-сюда. или выкосить часть, где возврат маршрута.

 

1.2.3.4 - основной шлюз

2.3.4.5 - резерв

#!/bin/sh
if ping -q -c 1 ya.ru 2>&1 > /dev/null  ; then
 rm -f /tmp/pingfailed
 if [ -f /tmp/backuproute ] ; then
  echo "MAIN route"
   route delete default
   route add default 1.2.3.4
   rm -f /tmp/backuproute
 fi
else
if [ ! -f /tmp/backuproute ] ; then
  if [ -f /tmp/pingfailed ] ; then
    CNT=`cat /tmp/pingfailed`
  else
    CNT="0"
  fi
  CNT=$(( ${CNT} + 1 ))
  echo $CNT > /tmp/pingfailed
  if [ "$CNT" -ge "5" ] ; then
    echo "BACKUP Route"
    touch /tmp/backuproute
   route delete default
   route add default 2.3.4.5
  fi
fi
fi

Posted

Да и пинговать ya.ru.. :) В прошлый раз СТОЛЬКО народу попреключалось на резервы, когда яндекс полег.

 

А сам скрипт - 1 класс вторая четверть.

 

вот, за 2 минуты на коленке. то, что впишете вместо ya.ru зарутить на 1 оператора, чтобы не хлопало туда-сюда. или выкосить часть, где возврат маршрута.

 

1.2.3.4 - основной шлюз

2.3.4.5 - резерв

#!/bin/sh
if ping -q -c 1 ya.ru 2>&1 > /dev/null  ; then
 rm -f /tmp/pingfailed
 if [ -f /tmp/backuproute ] ; then
  echo "MAIN route"
   route delete default
   route add default 1.2.3.4
   rm -f /tmp/backuproute
 fi
else
if [ ! -f /tmp/backuproute ] ; then
  if [ -f /tmp/pingfailed ] ; then
    CNT=`cat /tmp/pingfailed`
  else
    CNT="0"
  fi
  CNT=$(( ${CNT} + 1 ))
  echo $CNT > /tmp/pingfailed
  if [ "$CNT" -ge "5" ] ; then
    echo "BACKUP Route"
    touch /tmp/backuproute
   route delete default
   route add default 2.3.4.5
  fi
fi
fi

Благодарствую :)

А сам скрипт - 1 класс вторая четверть. Извиняюсь, сочковал в то время ;)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.