Jump to content

Отправка СМС после наступления определённого события


Recommended Posts

2 часа назад, corder сказал:

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

Проверяйте exit-code от curl, и если он отличен от 0, то через секунду повторяйте (раз 5-6). Это самый оптимальный вариант.

Link to comment
Share on other sites

  • 2 months later...
  • Replies 83
  • Created
  • Last Reply

Top Posters In This Topic

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

Sep 24 18:02:40ndm
Opkg::Manager: /opt/etc/ndm/wan.d/010-send.sms.sh: % Total  % Received % Xferd  Average Speed Time  Time Time  Current.

Sep 24 18:02:40ndm
Opkg::Manager: /opt/etc/ndm/wan.d/010-send.sms.sh:   Dload  Upload   Total   Spent    Left  Speed.

Версия прошивки 2.09.C.1.0-0 (из дельта).

Edited by denmmx
Link to comment
Share on other sites

19 минут назад, Александр Рыжов сказал:

@denmmx, добавьте ключ -s при вызове curl для подавления вывода прогресса в терминал.

Спасибо, заработало) !

Link to comment
Share on other sites

  • 2 months later...

Уважаемые знатоки! Помогите пожалуйста реализовать следующую идею. В общем, имеется маршрутизатор с Entware, к нему подключен кабель провайдера и 4G модем. Сразу после загрузки подняты оба соединения, кабельное и мобильное, кабельное в приоритете, мобильное стоит на резервировании. Необходимо, чтобы при отвале основного соединения и переходе на мобильное отправлялось сообщение в духе - "Маршрутизатор перешел на резервный канал" и все. То есть, как я понял из данной темы, если прописать в скрипт что то в духе:

curl -d "text=Маршрутизатор перешел на резервный канал" http://sms.ru/sms/send\?api_id=$api_id\&to=$number

и выполнить, то сообщение отправится (проверял). Осталось понять, как научить маршрутизатор выполнять данную команду при отвале основного подключения и переходе на резервное, которое все время находится в активном режиме.

Link to comment
Share on other sites

2 минуты назад, corder сказал:

Уважаемые знатоки! Помогите пожалуйста реализовать следующую идею. В общем, имеется маршрутизатор с Entware, к нему подключен кабель провайдера и 4G модем. Сразу после загрузки подняты оба соединения, кабельное и мобильное, кабельное в приоритете, мобильное стоит на резервировании. Необходимо, чтобы при отвале основного соединения и переходе на мобильное отправлялось сообщение в духе - "Маршрутизатор перешел на резервный канал" и все. То есть, как я понял из данной темы, если прописать в скрипт что то в духе:


curl -d "text=Маршрутизатор перешел на резервный канал" http://sms.ru/sms/send\?api_id=$api_id\&to=$number

и выполнить, то сообщение отправится (проверял). Осталось понять, как научить маршрутизатор выполнять данную команду при отвале основного подключения и переходе на резервное, которое все время находится в активном режиме.

https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmwand

Link to comment
Share on other sites

В общем сделал так. Создал в wan.d второй скрипт с именем 020-send.sms.sh

В него прописал:

#!/bin/sh
[ "$interface" = "cdc_br0" ] && curl -d "text=Маршрутизатор перешел на резервный канал" http://sms.ru/sms/send\?api_id=ваш_идентификатор\&to=телефон

Сымитировал отключение кабельного интернета, получил сообщение на телефон, что маршрутизатор перешел на резерв. Вернул обратно кабельное - сработал первый скрипт и прислал новый IP-адрес подключения.

Получается, что все оказалось проще, чем я мог себе это представить. :)

Edited by corder
  • Upvote 1
Link to comment
Share on other sites

  • 3 months later...

Делаю похожи скрипт только с телеграм. Пока отлаживал возник вопрос
если я в консоле ввиду
echo $interface он по идее должен выдать ip рабочего инета, но у меня выдаёт пустоту. Про скрипт с отправкой смс молчу, там тоже переменная нулевая. Что-то я сделал не так не могу понять что прошивка 2.11 B, opkg установлен.

Link to comment
Share on other sites

  • 5 weeks later...

А запуск скрипта при подключении клиента к штатному пптп еще не прикрутили случайно?

Link to comment
Share on other sites

3 часа назад, emlen сказал:

А запуск скрипта при подключении клиента к штатному пптп еще не прикрутили случайно?

Интересует похожий вопрос: как выполнить определенный скрипт при подключении клиента к штатному IPSec/L2TP серверу?

Link to comment
Share on other sites

2 часа назад, Floppik сказал:

Интересует похожий вопрос: как выполнить определенный скрипт при подключении клиента к штатному IPSec/L2TP серверу?

Создайте отдельную тему в "Развитии", подумаем.

  • Upvote 1
Link to comment
Share on other sites

  • 3 weeks later...

Подскажите пожалуйста, данное решение будет работать на Debian? Дело в том, что у Debian для кинетиков, как я понял, папка со скриптами изолирована от самой ОС и когда скрипт выполняется, он не может найти curl.

Link to comment
Share on other sites

11 час назад, corder сказал:

Подскажите пожалуйста, данное решение будет работать на Debian? Дело в том, что у Debian для кинетиков, как я понял, папка со скриптами изолирована от самой ОС и когда скрипт выполняется, он не может найти curl.

Смотря как был установлен Debian.

  • Если так, то вы совершенно правы и хук-скрипты исполняются изолированно от Debian.
  • Если так, то будет всё в порядке. И Debian и хук-скрипты будут исполняться внутри chroot-среды.
  • Thanks 1
Link to comment
Share on other sites

Привет, а подскажите подробнее далекому от командных строк, как создать сам файл на роутере GIGA3?  

на СМС ру зарегистрировался, USB флешку установил с репозитарием пакетов, Пакеты OPKG установил, CURL установил, а дальше затрудняюсь по шагам:

"Создайте на роутере файл /opt/etc/ndm/wan.d/010-send.sms.sh со следующим содержимым:"

"Сделайте скрипт исполняемым"

Я так понимаю, когда СМС заработает, флешку из маршрутизатора нельзя вытаскивать?, т.к. пакеты на ней развернуты.

Link to comment
Share on other sites

On 4/28/2018 at 9:00 AM, vladiksv said:

Привет, а подскажите подробнее далекому от командных строк, как создать сам файл на роутере GIGA3?  

на СМС ру зарегистрировался, USB флешку установил с репозитарием пакетов, Пакеты OPKG установил, CURL установил, а дальше затрудняюсь по шагам:

"Создайте на роутере файл /opt/etc/ndm/wan.d/010-send.sms.sh со следующим содержимым:"

"Сделайте скрипт исполняемым"

Я так понимаю, когда СМС заработает, флешку из маршрутизатора нельзя вытаскивать?, т.к. пакеты на ней развернуты.

С этим вопросом получилось разобраться самому. Есть пара моментов, которые пока не догнал как сделать, 

1. Покажите на примере скрипта в шапке куда нужно засунуть команду "Sleep 05"? Куда не пытался ее в ставить в скрипте, то ошибка синтаксиса, то не знает такую команду :).

2. По чему то каждые 45 минут поссле опроса основного интерфеса (кто опраштивает не понял), приходит СМС, вот такой кусок лога каждые 45 минут и прихорд СМС, подскажите где подкрутить? Кстати СМС сервис присылает уведомление о балансе через скрипт и еще какие то данные, так и должно быть?

Apr 29 09:51:02ndhcpc
GigabitEthernet1: received ACK for 7х.ххх.ххх.ххх from 1х.1хх.1хх.1.
Apr 29 09:51:03ndm
Opkg::Manager: /opt/etc/ndm/wan.d/010-send.sms.sh: 100.
Apr 29 09:51:03ndm
Opkg::Manager: /opt/etc/ndm/wan.d/010-send.sms.sh: 201ххх-10000хх.
Apr 29 09:51:03ndm
Opkg::Manager: /opt/etc/ndm/wan.d/010-send.sms.sh: balance=99.67.

 

 

 

Link to comment
Share on other sites

  • 6 months later...
В 10.03.2018 в 19:25, utya сказал:

Делаю похожи скрипт только с телеграм. Пока отлаживал возник вопрос
если я в консоле ввиду
echo $interface он по идее должен выдать ip рабочего инета, но у меня выдаёт пустоту. Про скрипт с отправкой смс молчу, там тоже переменная нулевая. Что-то я сделал не так не могу понять что прошивка 2.11 B, opkg установлен.

У меня аналогично, победить не могу.

Из консоли:  curl -d "text=Новый IP кинетика address" https://sms.ru/sms/send\?api_id=\&to = работает, а если добавить "[ "$interface" = "cdc_br1" ] && ", чтобы было [ "$interface" = "cdc_br1" ] && curl -d "text=Новый IP кинетика address" https://sms.ru/sms/send\?api_id=\&to - то тишина и не работает.

В логе тоже тихо :(

Link to comment
Share on other sites

  • 1 year later...

Всем добрый день!

Подскажите, плиз, как сделать оповещение с роутера (СМС, телеграм) о том, что отвалилось сетевое устройство (пинги не идут, например). Саму отправку примерно знаю как сделать через бота телеграм и curl, но вот как отловить событие отвала устройства - не знаю. 

Link to comment
Share on other sites

11 час назад, Евгений Пушкарев сказал:

Подскажите, плиз, как сделать оповещение с роутера (СМС, телеграм) о том, что отвалилось сетевое устройство (пинги не идут, например). Саму отправку примерно знаю как сделать через бота телеграм и curl, но вот как отловить событие отвала устройства - не знаю.

В приложении или облаке настроить уведомления ... Не вариант?

  • Thanks 1
Link to comment
Share on other sites

1 минуту назад, ajs сказал:

В приложении или облаке настроить уведомления ... Не вариант?

Нет, т.к. устройств в сети около 20, а критичных из них 1 - сервер умного дома)

Link to comment
Share on other sites

Нет, т.к. устройств в сети около 20, а критичных из них 1 - сервер умного дома)
Это как раз и настраивается, по умолчанию для всех выключено информирование, можно выбрать для каких устройств это надо и способ информирования ;)

--
WBR, ajs :)

  • Thanks 1
Link to comment
Share on other sites

2 минуты назад, ajs сказал:

Это как раз и настраивается, по умолчанию для всех выключено информирование, можно выбрать для каких устройств это надо и способ информирования ;)

--
WBR, ajs :)
 

ОГО!! Спасибо! Работает! 

  • Upvote 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...