MikroTik — автоматически выключаем и включаем WiFi в заданное время
Внимание! Данный пост был опубликован более года назад и, возможно, уже утратил свою былую актуальность. Но это не точно.

Маршрутизатор от Mikrotik, должен признать - интересный зверь. То, что в “домашних роутерах” поставляется прямо из коробки - здесь в ряде случаев приходится доделывать ручками. Зато имеется огромный функционал в плане “настраивается всё что хочешь”.

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

  1. Написать скрипт, который будет проверять текущее время, и в соответствии с ним выполнять требуемое действие;
  2. Убедиться, что он корректно работает;
  3. Добавить задание, которое будет выполнять этот скрипт с заданным промежутком времени.

Написание скрипта

За основу был взят скрипт от тов. Base122, адаптирован под версию 6.30.1 и опционально доработан:

Переходим в секцию SystemScripts и жмякаем на Add New. Заполняем поля следующим образом:

  • Name: RadioOnOff
  • Policy: [X] read, [X] write, [X] policy
  • Source: [Вставить содержимое скрипта]
  • Comment: Script to ensure wireless lan radio is ON or OFF

В верхней секции скрипта выставляем необходимые настройки времени (включения и выключения). Скрипт проверяет синхронизировано ли время с помощью ntp клиента. Если синхронизация времени не доступна - выстави в UseNTPClientStatus значение no.

Проверка

Для проверки запускай терминал или подключись к маршрутизатору с помощью SSH, после чего выполни:

[[email protected]] > /system script run RadioOnOff
[[email protected]] > /log print

И посмотри чтоб в логе всё было хорошо. Если не работает как надо - раскомментируй дополнительное логирование (#:log info "...";) в скрипте и проанализируй вывод.

Добавление задания

Для того чтоб добавить задание на периодический запуск скрипта переходим в SystemScheduler и так же нажимаем Add New. Настраиваем:

  • Enabled: [X]
  • Name: RadioOnOff
  • Start Date: [Текущая дата, встает автоматически]
  • Start Time: [Текущее время, встает автоматически]
  • Interval: 00:05:00
  • On Event: /system script run RadioOnOff
  • Policy: [X] read, [X] write, [X] policy
  • Comment: Script to ensure wireless lan radio is ON or OFF

После чего подожди ~6 минут, и посмотри в логе - должны появиться соответствующие записи о том что скрипт успешно выполняется.