Скрипт отправки внешнего IP на почту (если он изменился).

Здесь выкладываем скрипты
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
dariusii
Сообщения: 7
Зарегистрирован: 02 июл 2018, 09:33

Да. Все сошлось воедино. Спасибо за просвещение :)
Вместо 465 ssl. поставил порт 587. прям, как часы все.
Еще раз, спасибо за такие открытия. Как-то и не подумал на счет скобок. На вы со всем этим.


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Да в принципе не за что. Всё просто, если прочитать. Обратите внимание на предупреждение в Вики. Они не советуют использовать глобальные переменные в определенных вами локальных областях. То есть не загоняйте без нужды глобальные переменные в фигурные скобки, могут возникнуть абсолютно непредсказуемые коллизии.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Staspol
Сообщения: 3
Зарегистрирован: 19 июл 2018, 07:15

Есть ли возможность адаптировать этот скрипт под 5 версию routerOS, в 6 все работает на ура а вот в 5 не работает, нужен данный скрипт именно под 5 версию, прошу помощи в решении.


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

Staspol писал(а): 19 июл 2018, 07:21 Есть ли возможность адаптировать этот скрипт под 5 версию routerOS, в 6 все работает на ура а вот в 5 не работает, нужен данный скрипт именно под 5 версию, прошу помощи в решении.
Есть конечно. Пишите, сделаю


Есть интересная задача и бюджет? http://mikrotik.site
Staspol
Сообщения: 3
Зарегистрирован: 19 июл 2018, 07:15

vqd писал(а): 19 июл 2018, 07:29
Staspol писал(а): 19 июл 2018, 07:21 Есть ли возможность адаптировать этот скрипт под 5 версию routerOS, в 6 все работает на ура а вот в 5 не работает, нужен данный скрипт именно под 5 версию, прошу помощи в решении.
Есть конечно. Пишите, сделаю
написал в личку


ildar.basyrov
Сообщения: 3
Зарегистрирован: 24 сен 2020, 18:23
Откуда: 74

Доброе время суток. Нарыл тут "стандартный" скрипт, подправил его под себя. Все работает. Но есть одна проблемка: скрипт шлет адрес даже если айпишник не менялся. В шедуле проверка кадлые 2 часа и каждые 2 часа шлет. В чем может быть проблема?

# set WAN interface name
:local WAN "ether1";
# set e-mail smtp server name
:local smtpserv [:resolve xx.xx.xx.xx];
# set e-mail username
:local Eaccount "emailname@yandex.ru";
# set e-mail password
:local Epassword "mypassword";
# set e-mail main recipient
:local Etomail "emailname@gmail.com";

#---------- Config above this line ----------

:global StoredIP
:local sysname [/system identity get name];
:local sysver [/system package get system version];
:global CurrIP
:log info "Get WAN interface IP address (New IP to e-mail script)"

# Get WAN interface IP address
:set CurrIP [/ip address get [/ip address find interface=$WAN] address]
:set CurrIP [:pick [:tostr $CurrIP] 0 [:find [:tostr $CurrIP] "/"]]

:if ([:len $CurrIP] = 0) do={
:log error ("Could not get IP for interface " . $WAN)
:error ("Could not get IP for interface " . $WAN)
} else={:log info "IP from $WAN get. (New IP to e-mail script)"}
:log info "Checking & sending IP if needed."

# Check IP address & send if needed

:if ($StoredIP != $CurrIP) do={
/tool e-mail send from=$Eaccount to=$Etomail \
server=$smtpserv port=465 user=$Eaccount password=$Epassword \
subject=("Home $sysname IP changed (" . [/system clock get date] . \
")") body=("New $sysname IP: $CurrIP.\nRouterOS \
version: $sysver\nTime and Date stamp: " . [/system clock get time] . " \
" . [/system clock get date]);
:log info "Send new IP to e-mail complete"
:set StoredIP "$CurrIP"
:log info "Stored IP Updated"
} else={:log info "IP not changed"}


Sertik
Сообщения: 1598
Зарегистрирован: 15 сен 2017, 09:03

Проблема видимо в том что у вас $StoredIP = $CurrIP. Кто у Вас определяет $StoredIP первый раз ?


фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
ildar.basyrov
Сообщения: 3
Зарегистрирован: 24 сен 2020, 18:23
Откуда: 74

Сразу скажу, что я только начинаю изучать. Первоначально я посмотрел адрес и задал StoredIP в терминале вручную. Подскажите варианты как можно подправить.
Вчера специально погасил порт провайдера выждал время пока не кончится резерв адреса и включил. Айпишник сменился. Это хорошо, но опять по шедулу микрот шлет мне один и тот же адрес каждые 2 часа. Может есть вариант либо в dhcp клиенте или в watchdog как то это реализовать? но чтобы отправлял айпишник только при его изменении


Аватара пользователя
Virtue
Сообщения: 142
Зарегистрирован: 07 мар 2014, 10:17

ildar.basyrov писал(а): 27 сен 2020, 09:15 шлет мне один и тот же адрес каждые 2 часа
В терминале наберите
:put $StoredIP
Скопируйте строку целиком, что выдаст и напишите сюда


ildar.basyrov
Сообщения: 3
Зарегистрирован: 24 сен 2020, 18:23
Откуда: 74

Пустую строку выдал. Совсем ничего. Проверил в ворде с включенными невидимыми символами.
Сегодня Watchdog сработал. За инет вчера не заплатил и роутер перегрузился.
/environment print тоже ничего не выдал после ребута


Ответить