Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    скрипт включения / выключения радио

    скрипт включения / выключения радио

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    скрипт включения / выключения радио, RouterOS
     
    smilem
    Guest
    #1
    0
    26.06.2012 19:21:00
    Привет, я ищу способ включать радио в 8 утра и отключать в 10 вечера каждый день. Как я понял, нужен один скрипт, чтобы выключать радио, и другой — чтобы включать обратно. Мне нужно расписание для этих скриптов. Я вообще не умею писать скрипты, нашёл вот это http://forum.mikrotik.com/t/create-schedule-for-wifi/29291/1, но там только отключается интерфейс, а мне нужно именно выключать передатчик/радио. Спасибо.
     
     
     
    Base122
    Guest
    #2
    0
    19.07.2012 20:37:00
    Была задача настроить беспроводной радиомодуль на RB751U так, чтобы он включался и выключался в определённое время. Например, включался только в рабочие часы (07:00 - 17:00). Самое простое решение — использовать планировщик для включения и отключения радио в нужное время. Однако, если роутер будет выключен ночью, а включиться уже после времени включения 07:00, событие включения по расписанию просто не сработает, и радио останется выключенным. Этот скрипт проверяет с нужным пользователю интервалом, должен ли радио быть включён или выключен, и устанавливает состояние соответственно. Его можно адаптировать, например, для включения и отключения 3G-модема WAN, если нужно, чтобы роутер имел активное интернет-соединение только в определённые часы.

    # Скрипт для управления включением и выключением беспроводного радиомодуля #
    # в выбранные пользователем интервалы времени #
    # Включение и выключение радио не будет выполнено, если системное время #
    # не синхронизировано с локальным, если только это не требуется #
    # Помните, что после перезагрузки роутер сбрасывает время на заводское #
    # Запускайте этот скрипт по расписанию с нужным интервалом #
    # Автор Peter James, 2012-07-19 #
    # Тестировался на RB751U и RouterOS v5.19 #

    #####################################
    ## Установите время включения и выключения радио здесь ##
    :local RadioOnTime "07:00";
    :local RadioOffTime "17:00";

    # Установите "no", если часы устанавливаются вручную после каждой перезагрузки #
    # Установите "yes", если время синхронизируется через NTP-клиент #
    :local UseNTPClientStatus "yes";
    #####################################

    :log info "Запуск скрипта RadioOnOff";
    # Получаем имя интерфейса wlan радио #
    :local RadioName [/interface get [find type=wlan] name];
    :log info "Имя радио = $RadioName";

    # Проверяем, синхронизированы ли часы системы с локальным временем #
    :local NTPSyncState [/system ntp client get status];
    :log info "Статус NTP-клиента = $NTPSyncState";

    # Не выполняем включение или выключение радио, если текущее реальное время неизвестно, если это не требуется #
    :if (($NTPSyncState="synchronized") or ($UseNTPClientStatus="no")) do {

    :local CurrentTime [/system clock get time];
    :log info "Текущее время = $CurrentTime";

    # Проверяем текущий статус включения радио #
    :local RadioDisabled [/interface get $RadioName disabled];
    :log info "Радио отключено = $RadioDisabled";

    # Если время включения раньше времени выключения #
    :if ($RadioOnTime < $RadioOffTime) do {

    # Радио должно быть включено между этими временами #
    :if (($CurrentTime > $RadioOnTime) and ($CurrentTime < $RadioOffTime)) do {

    if ($RadioDisabled=true) do {
    :log info "Радио было OFF, теперь включаем";
    /interface enable $RadioName;
    }
    } else {

    if ($RadioDisabled=false) do {
    :log info "Радио было ON, теперь выключаем";
    /interface disable $RadioName;
    }

    }

    }

    # Если время включения позже времени выключения #
    :if ($RadioOnTime > $RadioOffTime) do {

    # Радио должно быть выключено между этими временами #
    :if (($CurrentTime < $RadioOnTime) and ($CurrentTime > $RadioOffTime)) do {

    if ($RadioDisabled=false) do {
    :log info "Радио было ON, теперь выключаем";
    /interface disable $RadioName;
    }
    } else {

    if ($RadioDisabled=true) do {
    :log info "Радио было OFF, теперь включаем";
    /interface enable $RadioName;
    }

    }

    }

    } else {

    :log info "Часы системы могут не быть синхронизированы с локальным временем, операция невозможна";

    }

    :log info "Скрипт RadioOnOff завершён";
     
     
     
    smilem
    Guest
    #3
    0
    25.07.2012 01:23:00
    Спасибо за ваш скрипт. Есть ли у вас идеи по поводу скрипта tx power, который я описал в своем сообщении выше, или скрипта для установки частоты wlan3 такой же, как у просканированной частоты http://forum.mikrotik.com/t/set-wlan3-frequency-same-as-scanned-frequency/57994/1?
     
     
     
    murray654
    Guest
    #4
    0
    22.03.2013 16:55:00
    Я попробовал это, но не работает. В логах появляется “Radio name = wlan1”, и больше ничего. Нужно ли ставить какие-то пакеты, чтобы это заработало? Моя версия 5.14, а оборудование — RB411U.
     
     
     
    skot
    Guest
    #5
    0
    23.03.2013 03:27:00
    Скрипт Base122 тестировался на версии v5.19… возможно, в этом и проблема, а может и нет. Иногда синтаксис меняется между версиями. Я заметил, что следующая строка выдаёт ошибку у меня на v5.22, потому что опции «status» не существует (на вики про неё нет информации). Интересно, не используется ли отдельный пакет NTP вместо стандартного SNTP? :local NTPSyncState [/system ntp client get status]; Я бы сделал так: обернул весь скрипт в фигурные скобки { }, а потом вставил в терминал. Тогда видно, где ошибка, и с чего начинать исправлять.
     
     
     
    jarda
    Guest
    #6
    0
    10.11.2014 07:30:00
    К сожалению, такой свойства, как «status», нет:

    [user@router] > /system ntp client get
    active-server    enabled          last-bad-packet-before  last-bad-packet-reason  last-update-from  poll-interval  secondary-ntp    
    value-name dynamic-servers  last-adjustment  last-bad-packet-from    last-update-before      mode              primary-ntp    
    server-dns-names

    [user@router] > /system ntp client print
    enabled: yes
    primary-ntp: 194.109.22.18
    secondary-ntp: 216.171.120.36
    mode: unicast
    poll-interval: 15m
    active-server: 194.109.22.18
    last-update-from: 194.109.22.18
    last-update-before: 4m13s310ms
    last-adjustment: 4ms590us
    last-bad-packet-from: 216.171.120.36
    last-bad-packet-before: 17h6m33s300ms
    last-bad-packet-reason: server-not-synchronized

    Смотри мануал: http://wiki.mikrotik.com/wiki/Manual:System/Time

    Возможно, стоит проверить, больше ли значение last-bad-packet-before, чем last-update-before. Если да, значит успешное обновление было недавно, а ошибка — раньше, и можно считать, что с временем всё в порядке. Также я бы проверил, чтобы last-update-before не был старше разумного периода (например, 24 часов).
     
     
     
    murray654
    Guest
    #7
    0
    24.03.2013 20:36:00
    Спасибо. Я установил пакет NTP, и теперь, похоже, всё работает. Я никогда не обновлялся, так что работает на версии v5.14.
     
     
     
    triplostrike
    Guest
    #8
    0
    03.06.2013 09:33:00
    Я протестировал все решения из этого поста на версии 5.25 для отключения/включения WLAN, но при этом проводное соединение тоже падает. Есть идеи? Спасибо.
     
     
     
    Mars67
    Guest
    #9
    0
    04.11.2014 05:00:00
    У меня есть RB951G с RouterOS 6.2, и я пытался запустить этот скрипт. Получаю следующую ошибку скрипта: недостаточно прав (9). Я проверил права пользователя, и вроде у меня полный администраторский доступ. Буду очень признателен за любую помощь, спасибо.
     
     
     
    Mars67
    Guest
    #10
    0
    06.11.2014 01:50:00
    Я тоже установил пакет NTP, но результат все тот же.
     
     
     
    Mars67
    Guest
    #11
    0
    06.11.2014 11:59:00
    Я прохожу через определённый этап обучения. RoS 6.21.1 тоже не поддерживает опцию «status», но когда я запускаю \system ntp client print, он показывает следующую информацию: enabled: yes mode: unicast primary-ntp: 146.64.24.58 secondary-ntp: 146.64.28.1 dynamic-servers: status: synchronized Как можно написать скрипт, чтобы проверить, синхронизировано ли время NTP? Спасибо.
     
     
     
    Mars67
    Guest
    #12
    0
    09.11.2014 18:58:00
    Кто-нибудь???
     
     
     
    jarda
    Guest
    #13
    0
    10.11.2014 04:39:00
    Ты хочешь проверить, действительно ли это синхронизировано, или просто отмечено как синхронизированное?
     
     
     
    Mars67
    Guest
    #14
    0
    10.11.2014 06:10:00
    Спасибо за ответ. Если посмотреть на предыдущий скрипт, то, насколько я понимаю, он просто проверяет, сообщается ли о синхронизации. То есть Base122 использовал следующий код для проверки статуса синхронизации [/system ntp client get status]; но, похоже, опция status теперь куда-то пропала, хотя отчет о статусе всё равно выводится. Если выполнить :system ntp client print; то можно увидеть статус NTP-клиента, в котором есть строчка – status: synchronised.

    Когда я использую команду :local NTPSyncState [/system ntp client get status]; :log info “NTPSyncState = $NTPSyncState” в логе я вижу только NTPSyncState =

    Спасибо.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры