Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Голосование

Пригодился ли Вам скрипт?

ДА, спасибо!
НЕТ, не интересует.

Автор Тема: Отправка e-mail'а при отсутствии пинга (СМС Оповещенние) [РЕШЕНО]  (Прочитано 23747 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: Отправка и-мейла при отсутствии пинга
« Ответ #30 : 01 Июня 2010, 16:53:49 »
#!/bin/bash
for i in 192.168.180.1 192.168.180.57 192.168.180.49 192.168.180.81 192.168.180.77 192.168.180.61 192.168.180.93;
do
    if eval "ping -c $i"; then
    else
         echo "server $i" | mail -s 'down' TrEK@mail.ru
    fi
done

ТС категорически не хочет учить матчасть )))
задача тривиальна, и все данные для решения есть в этом топике, осталось подумать головой и собрать воедино ;)
Абсолютно верно!

ТС включай голову
« Последнее редактирование: 01 Июня 2010, 16:55:48 от Владимир Николаевич »
у меня можно спросить=)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Отправка и-мейла при отсутствии пинга
« Ответ #31 : 01 Июня 2010, 16:59:59 »
ТС категорически не хочет учить матчасть )))
задача тривиальна, и все данные для решения есть в этом топике, осталось подумать головой и собрать воедино ;)
Что собственно и делаеться! :P

Пользователь решил продолжить мысль [time]Tue Jun  1 13:02:00 2010[/time]:
#!/bin/bash
for i in 192.168.180.1 192.168.180.57 192.168.180.49 192.168.180.81 192.168.180.77 192.168.180.61 192.168.180.93;
do
    if eval "ping -c $i"; then
    else
         echo "server $i" | mail -s 'down' TrEK@mail.ru
    fi
done

Ну простите, уж слишком давно учил программирование, и не слишком хорошо.
Спасибо за подсказку.

>п.с. И что за ТС?
Ясно.
« Последнее редактирование: 01 Июня 2010, 17:19:31 от TrEK »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: Отправка и-мейла при отсутствии пинга
« Ответ #32 : 01 Июня 2010, 17:12:49 »
Топик Стартер

Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Re: Отправка и-мейла при отсутствии пинга
« Ответ #33 : 01 Июня 2010, 17:36:01 »
ИМХО, программирование не учат, а учатся мыслить. Логика, блок-схемы и т.п. Кстати, я на bash никогда не писал. Есть только 2 скрипта, которые юзаются. Bash не знаю, но мыслить могу. Так что, если хотите научиться программировать, то сначала нужно научиться строить программы на языке... ээ... логики?... короче научиться описывать словами то, что вы хотите сделать и как. А потом в зависимости от синтаксиса определенного языка пишете программу. Благо интернет есть, чтобы этот самый синтаксис понять.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Отправка и-мейла при отсутствии пинга
« Ответ #34 : 01 Июня 2010, 18:24:37 »
Это да.
Согласен.
Но все таки не имея сильных основ, даже хорошое мышление не поможет.
Скажем я на пшп пробовал делать разные полезные скрипты, и переделывал готовые под себя. На это уходило достаточно времени и головной боли, но результат оправдывал себя.
Так же и здесь... + ваша помощь = хороший результат. За что огромное спасибо.

Пользователь решил продолжить мысль [time]Tue Jun  1 16:52:53 2010[/time]:
root@dionis:/var/www/cinema# ./monitor_ping.sh
./monitor_ping.sh: line 5: syntax error near unexpected token `else'
./monitor_ping.sh: line 5: `    else'


(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 01 Июня 2010, 18:59:49 от TrEK »

Axa-Ru

  • Гость
Re: Отправка и-мейла при отсутствии пинга
« Ответ #35 : 01 Июня 2010, 23:12:41 »
    if eval "ping -c 2 $i"; then
        nop
    else

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Отправка и-мейла при отсутствии пинга
« Ответ #36 : 02 Июня 2010, 13:28:34 »
    if eval "ping -c 2 $i"; then
        nop
    else

Заработало спасибо.
Смс приходит. Ура!
Но вот тут теперь надо голову поломать над следующим...

(Нажмите, чтобы показать/скрыть)


Как можно сделать, чтоб под айпишку было подвязано название.

192.168.180.69 - Sever_home
192.168.180.75 - Server_work
192.168.180.1 - Server_world

и чтоб в письме отправлялось не $i, а имя обьекта. Так как их много, и по айпишке каждый не вспомнишь.

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: Отправка и-мейла при отсутствии пинга
« Ответ #37 : 02 Июня 2010, 14:23:23 »
вот так и знал что следующий вопрос будет такого содержания  :2funny:
у меня можно спросить=)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Отправка и-мейла при отсутствии пинга
« Ответ #38 : 02 Июня 2010, 14:59:30 »
вот так и знал что следующий вопрос будет такого содержания  :2funny:


Нострадамус?  :D

Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Re: Отправка и-мейла при отсутствии пинга
« Ответ #39 : 02 Июня 2010, 16:27:54 »
#!/bin/bash
for i in 192.168.180.69 192.168.180.75 192.168.180.1;
do
    if eval "ping -c 2 $i"; then
    nop
    else
         if [ "$i" -eq 69 ]; then
              name="home"
         if [ "$i" -eq 75 ]; then
              name="work"
         if [ "$i" -eq 1 ]; then
              name="world"
         echo "server $name" | mail -s 'down' 38068*******@sms.beeline.ua
    fi
done

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Отправка и-мейла при отсутствии пинга
« Ответ #40 : 02 Июня 2010, 18:56:15 »
Спасибо.

А что щас хочет? :-[

root@dionis# ./monitor_ping.sh
./monitor_ping.sh: line 12: syntax error near unexpected token `done'
./monitor_ping.sh: line 12: `done'


Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Re: Отправка и-мейла при отсутствии пинга
« Ответ #41 : 02 Июня 2010, 19:21:09 »
Спасибо.

А что щас хочет? :-[

root@dionis# ./monitor_ping.sh
./monitor_ping.sh: line 12: syntax error near unexpected token `done'
./monitor_ping.sh: line 12: `done'
Приведи весь код. Ошибка у тебя в коде. В 12 строке. Похоже, синтаксическая.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Re: Отправка и-мейла при отсутствии пинга
« Ответ #42 : 03 Июня 2010, 10:43:39 »
(Нажмите, чтобы показать/скрыть)



Цитировать
закрыть условие забыл
Но это я понял, вот только где я его не закрыл - понять не могу... :idiot2: Уже разные варианты перепробовал.
« Последнее редактирование: 03 Июня 2010, 12:03:06 от TrEK »

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Re: Отправка и-мейла при отсутствии пинга
« Ответ #43 : 03 Июня 2010, 11:47:05 »
закрыть условие забыл

Пользователь решил продолжить мысль [time]Thu Jun  3 09:34:59 2010[/time]:
добавь еще одно fi перед done

кстати, а как сделать так, чтобы смска была одна, и только тогда, когда сервер отключился/ включился
ведь мониторить нужно постоянно, и если сервер допустим лежит день, этож смсками зафлудит весь телефон=)
нужно так:
упал сервер - отправилась смска,
поднялся - отправилась смска =)

Пользователь решил продолжить мысль [time]Thu Jun  3 11:41:23 2010[/time]:
на данный момент мысль такая:
один скрипт сидит в кроне, и переодически пингует
если пинга нет, создаем файлик errping
если пинг есть, удаляем файлик errping

сажаем второй скрипт в инкрон, который наблюдает за этим файликом
файл появился - шлем смс, ойой сервер упал
файл исчез - шлем смс, сервер работает

Пользователь решил продолжить мысль [time]Thu Jun  3 13:59:23 2010[/time]:
Может так:

Директория за которой наблюдать
$ mkdir /home/username/pingserv
Задания инкрона
incrontab -e
/home/username/pingserv IN_CREATE /home/username/scripts/downserv $#
/home/username/pingserv IN_DELETE /home/username/scripts/upserv $#

Задание для крона
crontab -e
10 * * * * /home/username/scripts/pingip

Скрипт пинга
$ nano ~/scripts/pingip#!/bin/bash
for i in 192.168.180.69;
do
    if eval "ping -c 2 $i"; then
    nop
    else
        if [ "$i" -eq 69]; then
                name="Chernivetska"
        echo "$name `date '+ (%d.%m.%y/ %H:%M)'`" > /home/username/pingserv/ping.log
        fi
   fi
done

Скрипт смс, если сервер лежит
$ nano ~/scripts/downserv
cat /home/username/pingserv/ping.log | mail -s 'down' 38068*******@sms.beeline.ua
Скрипт смс, если сервер работает
$ nano ~/scripts/upserv
echo "Все работает" | mail -s 'down' 38068*******@sms.beeline.ua
rm /home/username/pinserv/ping.log
« Последнее редактирование: 03 Июня 2010, 16:50:11 от kostrukov »
у меня можно спросить=)

Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Re: Отправка и-мейла при отсутствии пинга
« Ответ #44 : 03 Июня 2010, 16:34:42 »
Блин, народ, у меня скрипт готовый уже давно на серваке крутится и работает исправно (проверен временем). Код, правда, громоздкий.

UPD: забыл, на второй странице я уже писал свой скрипт. Можете ведь им пользоваться.
« Последнее редактирование: 03 Июня 2010, 16:36:15 от fantnk »

 

Страница сгенерирована за 0.021 секунд. Запросов: 24.