*Drive*- Здесь рулят padonki

*Drive* - Counter Strike Source
Текущее время: 28 мар 2024, 13:58

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 29 май 2019, 13:22 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Два провайдера : BeeLine и QWERTY. Канал по умолчанию через BeeLine. При проблеме на канале BeeLine - маршрут по умолчанию переходит в QWERTY . При восстановлении связи в BeeLine - маршрут восстановится . Скрипт стырен из инета (ссылка будет в конце) и мной переработан, по умолчанию на Debian не работал. Итак - забирайте поделие, кому надо :

Код:
#!/bin/sh

# Основной BeeLine
GW1=10.0.0.1  (свой подставляете !!!)
# Резервный QWERTY
GW2=10.0.0.2  (свой подставляете !!!)

# Устанавливаем в переменную время и дату в нужном нам формате
DT=`date +"%T %d.%m.%Y"`

# Для проверки каналов интернет на работоспособность используем пинг на сервисы Google, разные IP для разных каналов
# вы можете использовать свои эталонные адреса для проверки

# Проверяем добавлены ли маршруты на эталонные IP для проверки, если нет, то добавляем
check_node=`netstat -rn | grep "8.8.8.8" | awk '{print $1}'`
    if [ "$check_node" != "8.8.8.8" ]; then
    # добавляем маршрут для Google через основной канал для проверки
    /sbin/route add 8.8.8.8 gw $GW1
    # и через резервный канал
    /sbin/route add 8.8.4.4 gw $GW2
    fi

# Проверяем, если включен основной интернет и файл состояния установлен на резервный канал, то стираем файл состояния
# Такая ситуация может возникнуть, например, если сервер был на резервном и потом его резко выключили,
# А после включения опять включился основной канал (маршрут по-умолчанию)
check_gw=`ip r | grep default | awk '{print $3}'`
    if [ "$check_gw" = "10.0.0.1" ]; then

        if [ -f /tmp/.inet_reserv_work ]; then
        /bin/rm /tmp/.inet_reserv_work
        /bin/echo Стираем файл .inet_reserv_work $DT, так как шлюз $GW1, а не резервный $GW2! >> /var/log/inet_change.log
        fi

    fi

# Проверяем работает ли основной канал
    is=`/bin/ping -c 7 8.8.8.8 | grep -c "64 bytes"`
    if (/usr/bin/test $is -gt "4") then

# Если основной канал работает и файл состояния резервного канала существует, то стираем файл состояния и переключаемся
# на основной канал, пишем запись в лог и отправляем письмо администратору о переключении
        if [ -f /tmp/.inet_reserv_work ]; then
        /sbin/route del default
        /sbin/route add default gw $GW1
        /bin/rm /tmp/.inet_reserv_work
        /bin/echo Основной канал  включен $DT >> /var/log/inet_change.log
        echo "$DT Переключились на BeeLine" | mail -s "Интернет переключился на BeeLine" admin@padonak.su
        else
        exit
        fi

    else
# Если основной не работает, то проверяем резервный и переключаемся на него
        is2=`/bin/ping -c 7 8.8.4.4 | grep -c "64 bytes"`
        if (/usr/bin/test $is -gt "4" || /usr/bin/test $is2 -gt "4") then

                if ! [ -f /tmp/.inet_reserv_work ]; then
                /sbin/route del default
                /sbin/route add default gw $GW2
                /usr/bin/touch /tmp/.inet_reserv_work
                /bin/echo Резервный канал [QWERTY] включен $DT >> /var/log/inet_change.log
                echo "$DT Переключились на QWERTY" | mail -s "Интернет переключился на QWERTY" admin@padonak.su
                fi
        fi
    fi

 



Ну и добавить этот скрипт в крон на выполнение. Я поставил проверку раз в 15 минут. Не думаю что это нужно в домашних условиях делать чаще.

Код:
### Переключение каналов
*/15 *  * * *   root   cd /root/bin/ && ./inet_change.sh > 1>/dev/null 2>&1


взято там >>>

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение



За это сообщение автора Padonak поблагодарил: Kodla (31 май 2019, 16:03)
  Рейтинг: 33.33%
Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 31 май 2019, 16:09 
Не в сети
Аватар пользователя

Зарегистрирован: 18 июл 2007, 21:29
Сообщений: 166
Благодарил (а): 72 раз.
Поблагодарили: 2 раз.
Надоть буит попробывать. На Debian. OpenSUSE тоже есть. Вот только второго канала нета нетю)).


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 31 май 2019, 16:37 
Не в сети
padonki
Аватар пользователя

Зарегистрирован: 14 авг 2006, 20:43
Сообщений: 3750
Благодарил (а): 9 раз.
Поблагодарили: 96 раз.
Без разницы на чём. Главное пути исправить. Изначально писал БСДэшник - там пути другие. Да и ещё он немного неправильно команды вписал. Пришлось самому переработать.

Работает норм.

_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
Изображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти: