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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Голосование

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

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

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

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

Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Анонимная отправка не приветствуется. Так можно и спамить. Возможно оператор зарезает.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Анонимная отправка не приветствуется. Так можно и спамить. Возможно оператор зарезает.


Ну если сделать  echo "server $name" `date '+ (%d.%m.%y/ %H:%M)'` | mail -s 'down' 38068*******@sms.beeline.ua , то смс приходит и в логах:

Цитировать
Jun  4 16:34:09 dionis postfix/smtp[17502]: C975519712A: enabling PIX workarounds: disable_esmtp delay_dotcrlf for mailrelay-sms.beeline.ua[193.239.128.12]:25
Jun  4 16:34:09 dionis postfix/smtp[17502]: C975519712A: to=<38068*******@sms.beeline.ua>, relay=mailrelay-sms.beeline.ua[193.239.128.12]:25, delay=0.17, delays=0.02/0/0.06/0.09, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as AA90A62F1CC)

А вот когда скрипт инициализуется и пинг не проходит, то даже в логах ничего не пишет, про то, что отправлено сообщение.


Вот такой щас вид скрипта:
(Нажмите, чтобы показать/скрыть)

Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
(Нажмите, чтобы показать/скрыть)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
(Нажмите, чтобы показать/скрыть)

СУПЕР!!! Все заработало... значит на каждое условие надо дублировать и конечный результат выполнения...
Почти идеальный скрипт. Осталось научить его работать более умнее. Чтоб одно сообщение приходило, когда объект отвалится, и одно когда поднимется. Так как через крон зафлудится телефон, в случае длительного обвала.

kostrukov, то что на третей страничке писал, уже проверял на практике?

Оффлайн Fant_nk

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
    • Маленькие программы и утилиты
Осталось научить его работать более умнее. Чтоб одно сообщение приходило, когда объект отвалится, и одно когда поднимется. Так как через крон зафлудится телефон, в случае длительного обвала.
Не делай лисапед. Возьми мой скрипт. Он отправляет один раз, когда сайт недоступен, второй раз - когда вновь доступен. 1 падение - 2 смс.

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Цитировать
kostrukov, то что на третей страничке писал, уже проверял на практике?
да, сейчас так и работает, и скрипт fantnk проверял, и он даже удобнее, все в одном скрипте =)
у меня можно спросить=)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Осталось научить его работать более умнее. Чтоб одно сообщение приходило, когда объект отвалится, и одно когда поднимется. Так как через крон зафлудится телефон, в случае длительного обвала.
Не делай лисапед. Возьми мой скрипт. Он отправляет один раз, когда сайт недоступен, второй раз - когда вновь доступен. 1 падение - 2 смс.
Да я не хочу лисапед заново конструировать, но у меня не сендМейл... а ПостФикс ???, хотя я думаю что скрипт можно то переделать на любой МТА ведь так?

Пользователь решил продолжить мысль [time]Fri Jun  4 20:05:25 2010[/time]:
Цитировать
kostrukov, то что на третей страничке писал, уже проверял на практике?
да, сейчас так и работает, и скрипт fantnk проверял, и он даже удобнее, все в одном скрипте =)

ММММ.... то что fantnk предлагал?.. или твои мысли?... с кронтабом и инкронтабом?...
« Последнее редактирование: 05 Июня 2010, 12:49:45 от TrEK »

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
Все просто - когда соединение отваливается  - создаете файл err, когда появляется - удаляете его. Перед отправкой сообщения о разрыве связи проверяете наличие файла err - если его нет, то отправляете, если он есть, то нет. Ну и с смской о восстановлении соединения тоже самое, только наоборот :D

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Все просто - когда соединение отваливается  - создаете файл err, когда появляется - удаляете его. Перед отправкой сообщения о разрыве связи проверяете наличие файла err - если его нет, то отправляете, если он есть, то нет. Ну и с смской о восстановлении соединения тоже самое, только наоборот :D

А можно более подробнее? Ну что и как куда вставить?... сам процесс я понял.. но как упорядочить не разберусь сам. ???
Привожу рабочий скрипт.
Какие комманды делают проверку есть ли файл или нету его?

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

Оффлайн roma333

  • Участник
  • *
  • Сообщений: 206
    • Просмотр профиля
(Нажмите, чтобы показать/скрыть)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
(Нажмите, чтобы показать/скрыть)

Это мы всегда успеем, но гугл приведет, думаю в этот топик :) :P

Пользователь решил продолжить мысль 07 Июня 2010, 03:17:47:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 07 Июня 2010, 03:17:47 от TrEK »

Axa-Ru

  • Гость
« Последнее редактирование: 07 Июня 2010, 09:25:10 от Axa-Ru »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
В чём разница между американским, израильским и русским форумом в Сети?

На американском форуме задаёшь вопрос, тебе дают ответ. На израильском форуме задаёшь вопрос, тебе задают встречный вопрос. На русском форуме задаёшь вопрос, а тебе долго рассказывают какой ты му**к.
Вы просто отчаянно не хотите думать головой. За Вас и так уже все сделали ;)
если Вы разбираетесь в "своем" скрипте, то примерно должны понимать куда вставить строчки создания файла, проверки на существование и удаления.
Осталось узнать как это все делается. А тут уже гугл...

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
В чём разница между американским, израильским и русским форумом в Сети?

На американском форуме задаёшь вопрос, тебе дают ответ. На израильском форуме задаёшь вопрос, тебе задают встречный вопрос. На русском форуме задаёшь вопрос, а тебе долго рассказывают какой ты му**к.
Вы просто отчаянно не хотите думать головой. За Вас и так уже все сделали ;)
если Вы разбираетесь в "своем" скрипте, то примерно должны понимать куда вставить строчки создания файла, проверки на существование и удаления.
Осталось узнать как это все делается. А тут уже гугл...

Попробуем. :idiot2:

Пользователь решил продолжить мысль [time]Mon Jun  7 05:45:50 2010[/time]:

Такс... методом switch ON the mind нашкрябал усовершенствованный скриптец. Но появились новые проблемы, которые отпали сами собой на следующий день, ибо усиленный режим мозга разгадал тяжкую головоломку неисчерпывающих ошибок шелла.


Пользователь решил продолжить мысль [time]Tue Jun  8 15:37:49 2010[/time]:
И вот, мой долгожданный и необходимый скрипт готов к употреблению!
Милости просим, угощайтесь на здоровье!
Спасибо всем, кто дал стартовые советы.

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

Теперь хотелось бы сделать так, чтоб при длительном отсутствии пинга, смс повторно отправлялось, скажем через час.
Идея такова: в файл, который создается при первом падении, записывается время падения, и при каждом срабатывании скрипта проверяется текущее время и то время, что указано в файле. Если время текущее превышает на час,- отправляется повторное сообщение про поломку.

Время у меня в скрипте уже записывается, но как организовать сравнение при неудачных повторных пингах?...
Подскажите.

Пользователь решил продолжить мысль [time]Wed Jun  9 08:17:59 2010[/time]:
Идея 2 : Записывать в файл при каждом срабатывании скрипта одиничку... и каждый раз увеличивать на один. И допустим, если скрипт из крона запускается каждые 5 минут, отправлять сообщение повторное, когда цифра в файле будет равна 12.
« Последнее редактирование: 10 Июня 2010, 01:46:23 от TrEK »

Оффлайн S.

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Отправка и-мейла при отсутствии пинга
« Ответ #74 : 10 Июня 2010, 11:52:50 »
Сам пользуюсь следующим скриптом:
(Нажмите, чтобы показать/скрыть)
Я понимаю, что нагородил большой код, но работает. Надеюсь поможет.

Зачем пинговать гугол ?

if eval "ping -c 1 www.google.ru"; then
 Зачем переменная down если она негде в коде не используется ?

down=$((`date -d "$date_na" '+%m'` - `date -d "$date_a" '+%m'`))

 

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