Перейти к основному содержимому

Mikrotik

Tips and Tricks

Всякие мелочи

Mikrotik узнать внешний IP адрес

Иногда возникает необходимость на удаленном устройстве быстро посмотреть внешний IP адрес.

/tool fetch url="https://wtfismyip.com/text" keep-result=yes; delay 1s; :put [file get text contents]

Одна строка, включает 3 команды.

  • GET запрос и сохранение результата
  • Задержка для сохранения файла
  • Вывод содержимого

Mikrotik отправить сообщение Telegram

Нужен ТОКЕН бота (создается через @Botfather по инструкции)

Token выглядит примерно так: 1064657353:AAFH1MioTXgrmHGZмAr-XcGE18BShD5ud0Y

Дальше нужно получить chatID

https://api.telegram.org/bot*API_token*/getUpdates

Открыть в браузере, где необходимо найти строку chat id:

Например:

  • API Token: 1064657353:AAFH1MioTXgrmHGZмAr-XcGE18BShD5ud0Y
  • chat id: :268900781

Отправка сообщения через микротик тест бота

Команда для проверки работоспособности:

/tool fetch url="https://api.telegram.org/botAPI_TOKEN/sendMessage\?chat_id=CHAT_ID&text=test"

(Подставить свои API_TOKEN и CHAT_ID)

failure: closing connection: 400 Bad Request

При такой ошибке надо проверять синтаксис команды

Для использования кириллицы (использовать русские буквы) в Router OS можно использовать UTF кодирование.

Например: Упал канал%D0%A3%D0%BF%D0%B0%D0%BB+%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB

Онлайн кодирование ссылка

Выполнение скрипта (команды) ежемесячно на Router OS

Данный скрипт я использую чтобы ежемесячно стирать накопленный трафик на вкладке Queues.

Сброс или обнуление счетчика трафика simple queues

Описание

Скрипт каждый день проверяет какое сегодня число и если сегодня «первое» число то выполняет команду

Узнать какой сегодня день (создает глобальную переменную с актуальной датой):

:global day [:pick [/system clock get date] 4 6]

Условие «если сегодня первое число» то сбросить все счётчики в /queue simple

:if ($day="01") do={/queue simple reset-counters-all}

Добавляю этот скрипт в расписание system -> schedule и запускаю в 00:00:01 с интервалом в один день.

Когда вариант с schedule с интервалом в 30d меня не устраивает, и нужно именно каждый новый месяц