Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
     
    stefanosp
    Guest
    #1
    0
    04.04.2021 16:36:00
    Доброе утро всем! Я пишу скрипт (01), который затем будет применяться на разных роутерах. Этот скрипт (01) добавляет в RouterOS другой скрипт (02) и расписание, которое запускает этот скрипт (02). Мне бы хотелось, чтобы время выполнения нового скрипта (02) отличалось на каждом роутере, где он будет активен. Есть ли способ генерировать случайное время каждый раз, когда запускается скрипт (01)? Есть ли способ преобразовать произвольную строку в число? Извиняюсь, если объяснил непонятно... Заранее спасибо!
     
     
     
    rextended
    Guest
    #2
    0
    22.05.2021 17:07:00
    Пишу свою версию: случайное число от 0 до 99 или строка от 00 до 99 http://forum.mikrotik.com/t/random-number-between-0-and-99-or-string-between-00-and-99/149267/1 Если нужен почти случайный, но в то же время почти уникальный для загрузки файла на какой-то ftp, и при этом не хочется, чтобы все подключались одновременно и создавали нагрузку, можно использовать последние 3 октета оригинального MAC-адреса ether1 вот так:  
    :global Gorimac [/int eth get ether1 orig-mac-address]
    :global shour (([:tonum ("0x".[:pick $Gorimac 9 11])] % 23) +1)
    :global smin ([:tonum ("0x".[:pick $Gorimac 12 14])] % 60)
    :global ssec ([:tonum ("0x".[:pick $Gorimac 15 17])] % 60)
     
    :put "start-time=$shour:$smin:$ssec"
     
     
     
    tabate47
    Guest
    #3
    0
    20.04.2023 11:43:00
    Рекс, думаю, твой скрипт подойдет для моих задач. Мне нужно генерировать время только между 1 и 5 утра. Что нужно изменить, чтобы это сделать? Спасибо!
     
     
     
    rextended
    Guest
    #4
    0
    20.04.2023 11:55:00
    1:00 до 5:00 — это 4 часа, или 14400 секунд. 14400/100 = 144 секунды. Значит, для каждого числа от 0 до 99 каждое соответствует 144 секундам:

    :global randomnum do={  
     /system resource irq  
     :local tmpsum 0  
     :foreach i in=[find] do={
       :set tmpsum ($tmpsum + [get $i count])
     }  
     :set tmpsum [:tostr $tmpsum]
     :local lentmp [:len $tmpsum]
     :return [:tonum [:pick $tmpsum ($lentmp - 2) $lentmp]]
    }

    {  
     :local randomtime (01:00:00 + [:totime (([$randomnum] + 1) * 144)])
     :put $randomtime  
    }

    На MAC выражение % 4 может дать 0, 1, 2 или 3, так что интервал получается от 01:00:00 до 04:59:59:

    {  
     :local Gorimac [/int eth get ether1 orig-mac-address]
     :local shour (([:tonum (“0x”.[:pick $Gorimac 9 11])] % 4) + 1)
     :local smin ([:tonum (“0x”.[:pick $Gorimac 12 14])] % 60)
     :local ssec ([:tonum (“0x”.[:pick $Gorimac 15 17])] % 60)
     :local starttime “$shour:$smin:$ssec”  
     :put “start-time=$starttime”  
    }
     
     
     
    rextended
    Guest
    #5
    0
    20.04.2023 12:19:00
    Пожалуйста, предоставьте текст для перевода.
     
     
     
    tabate47
    Guest
    #6
    0
    20.04.2023 12:54:00
    Спасибо, Рекс
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры