Перейти к содержанию

вся мощь


kenika

Рекомендуемые сообщения

Короче, надо было мне написать скрипт, который

некоторые сервисы переводит в резервное состояние,

когда инет падает, и в основное, когда восстанавливается.

Ясно, что надо по пингу проверять, но у меня упорно

ничего не получалось - синтаксис баша настолько сложен,

что, о-я-хрюею. Хотел уже помощи тут просить,

но в итоге разобрался сам !

Итак, зацените всю мощь и красоту Линукса животворящего !!!!

 

 

#!/bin/bash

while : ; do

/root/переходим_в_основное

until [ "`/bin/ping -c 5 8.8.8.8 | grep "100% packet loss"`" ] ; do sleep 1 ; done

/root/переходим_в_резервное

until [ "`/bin/ping -c 5 8.8.8.8 | grep "0% packet loss"`" ] ; do sleep 1 ; done

done

Ссылка на комментарий
Поделиться на другие сайты

/bin/ping -c 5 8.8.8.8 | grep "100% packet loss"

зачем парсить вывод, если можно получить код ошибки через системную переменную $?

 

со всякой проверкой состояния можно так:

#!/bin/bash

echo "" >/tmp/script.run
while :; do
run = `cat /tmp/script.run`
/bin/ping -c 5 8.8.8.8
if [ $? -ne 0 ]; then
 if [ "$run" != "резервное" ]; then
  /root/переходим_в_резервное
  echo "резервное" >/tmp/script.run
 fi
else
 if [ "$run" != "основное" ]; then
  /root/переходим_в_основное
  echo "основное" >/tmp/script.run
 fi
fi
done

Ссылка на комментарий
Поделиться на другие сайты

ой, братан, как у тебя все тут сложно.

ты ниче не путаешь ?

я читал, что пинг не формирует код ошибки.

а если формирует, то какой он будет при частичных потерях ?

мне не надо, чтобы срабатывало от единичной потери, мне как раз надо отлавливать ситуацию когда все 5 потерялись и назад когда все 5 прошли, вот что надо, то четко и грепается.

Ссылка на комментарий
Поделиться на другие сайты

ой, братан, как у тебя все тут сложно.

ты ниче не путаешь ?

я читал, что пинг не формирует код ошибки.

сложно видимо не у меня и не то ты читал - еще как формирует

 

а если формирует, то какой он будет при частичных потерях ?

мне не надо, чтобы срабатывало от единичной потери, мне как раз надо отлавливать ситуацию когда все 5 потерялись и назад когда все 5 прошли, вот что надо, то четко и грепается.

а что мешает сделать 5 раз по /bin/ping -c 1 8.8.8.8 и отловить $?

Ссылка на комментарий
Поделиться на другие сайты

  • 2 weeks later...

С башорга

 

#AA-252577

Вот всегда бы так работодатели описывали вакансии)) и сразу все понятно)

Что нужно делать:

устранять узкие места (сеть, диск, память, ЦПУ, программисты)

управлять кучей серверов в разных ДЦ (реальных и виртуальных)

рулить сетью в (и между) ДЦ (L2 и L3)

серебряные пули из линукса

управлять самым нужным WWW, DNS, SMTP, VPN

знать что делать, когда всё плохо

Необходимые навыки/знания:

модель OSI

не пугаться L2 и L3

Linux до красноглазия

лучше всего Debian и Ubuntu

London is the capital of Great Britain

принципы виртуализации

Вопросы:

что значит /29 ?

почините: echo 2 4 1 5 1 1 sort -u

сколько байт в мегабайте?

у семи нянек ... ?

сцук, как же это всё про меня...........

 

Ладно, отвечаем на вопросы.

 

1. что значит /29 ?

то же, что и 255.255.255.248 - подсеть на 8 адресов

 

2. почините: echo 2 4 1 5 1 1 sort -u

echo -e "2\n4\n1\n5\n1\n1" | sort -u

 

3. сколько байт в мегабайте?

1.000.000, (а вот в мебибайте их 1024*1024)

 

4. у семи нянек ...

кластер виртуализации упал и BGP снаружи отвалилось.

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...