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

Mikrotik script date time: як використовувати скрипт для роботи з часом

12 хв читання
1095 переглядів

Мікротик-це популярний бренд мережевого обладнання, відомий своїм програмним забезпеченням RouterOS. Однією з корисних можливостей RouterOS є підтримка скриптів, які дозволяють автоматизувати різні завдання на пристрої. Один з найбільш часто використовуваних скриптів - скрипт для роботи з часом.

Скрипт date time дозволяє отримати поточну дату і час на пристрої MikroTik. Це може бути корисно в багатьох сценаріях, наприклад, для створення регулярного резервного копіювання в певні моменти часу або для налаштування доступу до мережі в певний час.

Використання скрипта date time В MikroTik досить просто. Просто введіть команду в командному рядку RouterOS:

/system script run date time

Ця команда призведе до виконання сценарію date time, і ви отримаєте поточну дату та час на пристрої MikroTik. Зручна перевага полягає в тому, що сценарій можна налаштувати для виконання в певний час або за розкладом, використовуючи різні функції та оператори мови сценарію MikroTik.

Робота з часом в Mikrotik script: корисні прийоми і застосування

Одна з основних завдань роботи з часом - це отримання поточної дати і часу. Для цього використовується функція "gettime()", яка повертає кількість секунд, що минули з 1 січня 1970 року. За допомогою цієї функції можна легко отримати поточну дату і час, а також проводити різні операції з часом, наприклад, додавати або віднімати певну кількість секунд.

Крім того, Mikrotik script дозволяє працювати з окремими елементами часу, такими як рік, місяць, день, години, хвилини і секунди. Для цього використовується функція ":pick()", яка дозволяє вибрати певну частину часу і зберегти її в змінну.

Для більш зручної роботи з датою і часом в Mikrotik script можна використовувати форматування. Функція "[:pick $date $start $length]"дозволяє вибрати певну частину дати або часу і сформувати рядок в потрібному форматі. Наприклад, для отримання поточної дати в форматі "РРРР-мм-дд" можна використовувати наступну конструкцію:"[:pick $date 0 4]. [:pick $date 4 2]. [:pick $date 6 2]".

Робота з часом у сценарії Mikrotik може бути корисною в різних сценаріях. Наприклад, ви можете використовувати сценарії на основі часу для автоматизації певних завдань, таких як перезавантаження пристроїв, зміна налаштувань або надсилання сповіщень. Також, робота з часом може бути корисна для реєстрації та аналізу подій, що відбуваються в мережі.

За допомогою Mikrotik script вам відкриваються широкі можливості для роботи з часом. Ви можете виконувати різні операції, форматувати та аналізувати дату та час, а також використовувати їх для автоматизації певних завдань. Не соромтеся експериментувати і застосовувати ці прийоми в своїх проектах.

ФункціяОпис
gettime()Повертає кількість секунд, що минули з 1 січня 1970 року
:pick()Вибирає певну частину дати або часу

Зміна та форматування часу в Mikrotik script

У Mikrotik script є можливість змінювати і форматувати час за допомогою спеціальних функцій. Це може бути корисно, наприклад, при створенні автоматичних завдань або при синхронізації часу з іншими пристроями.

Однією з базових функцій для роботи з часом є функція "time". Вона повертає поточний час, кількість секунд, що минули з півночі 1 січня 1970 року по UTC.

Для зміни часу можна використовувати функцію "set-time", яка дозволяє встановити нове значення часу. Наприклад:

/system clock set time=10:30:00

Це встановить час 10:30: 00 на пристрої.

Для форматування часу в Mikrotik script можна використовувати функцію "strftime". Вона дозволяє задати формат виведення часу. Наприклад:

/system clock set date=[/system clock get date]:local current_date [/system clock get date];:local formatted_date [/system clock get time10]/system clock set time=10:30:00/system clock set date=2020-10-01/system clock print

Цей скрипт встановлює новий час і дату, а потім виводить їх у форматі "Рік-Місяць-День години:хвилини:секунди".

Таким чином, використання функцій зміни і форматування часу в Mikrotik script дозволяє більш гнучко управляти часом на пристрої і надає можливість його використання в різних сценаріях.

Обчислення та управління часовими інтервалами в Mikrotik script

Тимчасові інтервали дозволяють задавати умови і виконувати певні дії в залежності від часу на маршрутизаторі MikroTik. Для роботи з часовими інтервалами можна використовувати різні команди і функції в Mikrotik script.

Команда / system script дозволяє створювати, редагувати та видаляти сценарії на маршрутизаторі MikroTik. У скриптах можна використовувати різні функції для роботи з часом, такі як time , date , time-series та інші.

Функція time повертає поточний час у секундах з 1 січня 1970 року. Це дозволяє порівнювати та обчислювати різницю між часовими значеннями. Наприклад, для отримання поточного часу в секундах можна використовувати наступний код:

:local current_time:set current_time [/system clock get time]

Функція date дозволяє отримати поточну дату і час в заданому форматі. Наприклад, для отримання поточного часу та дати у форматі " dd-mm-yyyy hh:mm " можна використовувати наступний код:

:local current_date:set current_date [/system clock get date]:local current_time:set current_time [/system clock get time]:local formatted_time:set formatted_time ([:pick $current_date 4 6].[:pick $current_date 2 4].[:pick $current_date 0 2]." ".[:pick $current_time 0 2].":".[:pick $current_time 3 5])

Функція time-series дозволяє працювати з тимчасовими інтервалами і перевіряти входження часу в певний інтервал. Наприклад, для перевірки, чи знаходиться поточний час в інтервалі з 9 до 18 годин можна використовувати наступний код:

:local current_time:set current_time [/system clock get time]:local start_time:set start_time (9*3600) ; 9 часов в секундах:local end_time:set end_time (18*3600) ; 18 часов в секундах:if ($current_time >= $start_time && $current_time else=

Обчислення і управління часовими інтервалами в Mikrotik script дозволяє створювати різні сценарії і автоматизувати роботу мережі на основі тимчасових умов.