Страница 1 из 1
Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 23 июн 2019, 23:18
er1cc
Приветствую!
Провайдер кабельного интернета отключает абонента при отсутствии активности этого абонента в течение 3-х суток.
Соответственно доступ к VPN организованному на роутере MikroTik этого абонента пропадает.
Но достаточно зайти на любой сайт по Wi-Fi или LAN через этот абонентский роутер и провайдер "просыпается" и последующие 3-е суток всё работает.
Скажу сразу, я не специалист в написании скриптов для RouterOS, поэтому был бы весьма признателен за готовый скрипт в задачу которого будет входить отправка любого http запроса на любой сайт, один раз в 72 часа
P.S. А может быть и скрипт не нужен, а будет достаточно создать в Schedule расписание выполнения команды пинга любого сайта (Google например) ?
Re: Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 24 июн 2019, 16:29
Sertik
Ну так попробуйте !
Re: Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 24 июн 2019, 20:57
podarok66
Попробуйте в шедуллере запускать раз в сутки такой скриптик:
Код: Выделить всё
{:global fin; :local tmp [/tool fetch url=https://yandex.ru/time/ as-value output=user]; :set fin ($tmp -> "status");}
В этом варианте точно есть запрос на сайт, потом проверка статуса исполнения запроса позволит при нужде ещё что-нибудь прикрутить.
Настоятельно прошу опубликовать результаты работы скрипта, вернее то, как это пройдет с вашим провайдером

Re: Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 24 июн 2019, 23:33
er1cc
podarok66 писал(а): ↑24 июн 2019, 20:57
Попробуйте в шедуллере запускать раз в сутки такой скриптик:
Код: Выделить всё
{:global fin; :local tmp [/tool fetch url=https://yandex.ru/time/ as-value output=user]; :set fin ($tmp -> "status");}
В этом варианте точно есть запрос на сайт, потом проверка статуса исполнения запроса позволит при нужде ещё что-нибудь прикрутить.
Настоятельно прошу опубликовать результаты работы скрипта, вернее то, как это пройдет с вашим провайдером
Благодарю. Не обещаю, но возможно проэкспериментирую с вашим скриптом при наличии времени.
Пока установил найденный сегодня в сети следующий скриптик:
Код: Выделить всё
:do {
/tool fetch url="http://mysite.org/wakeup_provider.html" mode=http
:delay 10;
/file remove "wakeup_provider.html"
} on-error={
log warning ("http://mysite.org was DOWN")
/tool e-mail send server=smtp.mail.ru port=25 tls=yes user=mikrotik_001@mail.ru password=PASS to=staff372@mail.ru subject="Server was DOWN" body="Server was DOWN"
}
Заодно позволяет следить за доступностью сайта.
До этого организовал на NetWatch, но подумал, что ICMP могут не "разбудить" роутер провайдера.
Ну и в любом случае, отпишусь по результату "пробуждения" провайдера текущим скриптом.
Хотя я "будил" его в ручном режиме именно загрузкой всего одной html страницы, так что 99,9% что текущий скрипт справится с этой задачей.
Для практической проверки необходимо ехать на дачу на 4 дня... не знаю когда это у меня получится :)
Re: Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 25 июн 2019, 20:56
podarok66
Да блин, это безумие какое-то!!! Вы скрипт-то анализировали? К своей ситуёвине прикладывали?
На кой ляд вам сообщение на почту о недоступности сайта, если такая ситуация в вашем случае означает отключение интернета провайдером и как следствие никакого письма не отошлётся. Или вы думаете, что вам его Печкин принесёт?
Потом, в вашем варианте вы скачиваете целую страницу, которую потом приходится уничтожать. Вариант с output=user мне кажется гораздо предпочтительнее, при нём данные сохраняются в локальную переменную. По окончании работы скрипта переменная уничтожается автоматом, а в глобальной, которая заявлена в начале скрипта остаётся лишь статус. Как вариант можно каждую отработку скрипта писать статус в лог-файл, будет потом видно, когда всё произошло. Только запускать скрипт почаще для более оперативного отслеживания изменений. Раз в 10 минут, например.
Думайте, прежде чем копипастой заниматься.
Re: Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 27 июн 2019, 02:12
er1cc
podarok66 писал(а): ↑25 июн 2019, 20:56
Да блин, это безумие какое-то!!!
Почти с вами согласен
podarok66 писал(а): ↑25 июн 2019, 20:56Вы скрипт-то анализировали?
В силу своих скудных познаний в этом вопросе - анализировал, но ничего более подходящего для своей задачи, не нашел.
podarok66 писал(а): ↑25 июн 2019, 20:56На кой ляд вам сообщение на почту о недоступности сайта, если такая ситуация в вашем случае означает отключение интернета провайдером и как следствие никакого письма не отошлётся.
Не только отключение интернета провайдером, а и падение сайта тоже. Если падает сайт то письмо отсылается, проверил.
podarok66 писал(а): ↑25 июн 2019, 20:56Потом, в вашем варианте вы скачиваете целую страницу, которую потом приходится уничтожать.
Страницу я сделал в пару байт, да и уничтожается она в процессе работы скрипта, насколько мои весьма скудные познания позволяют мне понять, точнее даже предположить это
podarok66 писал(а): ↑25 июн 2019, 20:56Вариант с output=user мне кажется гораздо предпочтительнее, при нём данные сохраняются в локальную переменную. По окончании работы скрипта переменная уничтожается автоматом, а в глобальной, которая заявлена в начале скрипта остаётся лишь статус. Как вариант можно каждую отработку скрипта писать статус в лог-файл, будет потом видно, когда всё произошло. Только запускать скрипт почаще для более оперативного отслеживания изменений. Раз в 10 минут, например
И тут я с вами почти согласен. "Почти" только потому что мало понимаю о чём речь
Но я с удовольствием протестирую ваш скрипт, если вы его любезно предоставите в варианте полностью готовым для copy-paste, так как на большее моих "познаний", увы не хватит.
Клятвенно обещаю предоставить полный отчет о том, решит ли ваш скрипт проблему с "пробуждением" провайдера интернета.
Re: Необходим скрипт для отсылки периодического http запроса с роутера MikroTik
Добавлено: 27 июн 2019, 19:10
podarok66
er1cc писал(а): ↑27 июн 2019, 02:12
Но я с удовольствием протестирую ваш скрипт, если вы его любезно предоставите в варианте полностью готовым для copy-paste, так как на большее моих "познаний", увы не хватит.
Отвратительный подход. Простите, но мне ещё мама в детстве говорила:"У Неумею руки не болят" . Направление я вам дал, вот тут
https://wiki.mikrotik.com/wiki/Manual:Scripting моя любимая страница. 80% вопросов она снимает, хотя есть, конечно, отдельные темы в скриптинге, которые могут прояснить в основном лишь такие асы, как vqd. Но у вас-то всё просто и прозрачно.
er1cc писал(а): ↑27 июн 2019, 02:12
Не только отключение интернета провайдером, а и падение сайта тоже. Если падает сайт то письмо отсылается, проверил.
За каким бесом вам сведения о падении Яндесковского сайта, или так какого нибудь Гугла. Адрес-то прикручивается нужный, лишь бы страница была полегче и гарантированно доступна (хотя бы в теории)
er1cc писал(а): ↑27 июн 2019, 02:12
Страницу я сделал в пару байт, да и уничтожается она в процессе работы скрипта, насколько мои весьма скудные познания позволяют мне понять, точнее даже предположить это
Самая главная разница - место хранения. К сожалению ПЗУ микротиков бывает не очень вынослива. Хотя, логи-то пишем, и как бы не паримся... Я не очень люблю вообще что либо писать лишнее в Files. Нервирует меня куча лишних файлов. Я и Dude из-за этого избегаю юзать.
Ну а если уж совсем не желаете напрягаться - на форуме есть раздел платной помощи, где можно составить задание и кто-нибудь откликнется (по секрету сообщу - я там никогда ничего не брал к исполнению

). Думаю, что это будет не слишком дорого в свете уже обсуждённого.
Тему считаю полностью обсужденной. Удачи...