Рубрики
Настройка

Запуск скрипта в MikroTik по будням

Возникла необходимость запускать скрипт в маршрутизаторе MikroTik только по будням. Мало того, что нет простого способа узнать сегодняшний день недели, так еще есть праздники. Поэтому решил прописать все выходные дни в явном виде. Скрипт запуска получился таким:

# получаем сегодняшнюю дату
:local date [/system clock get date]
# читаем файл holidays.txt и приводим его к массиву
:local hdays [:toarray [/file get [/file find name=holidays.txt] contents]]
# проверяем, есть ли сегодняшняя дата в массиве
:local isWork ([:typeof [:find $hdays $date -1]] = "nil")
:if ($isWork) do={
    # здесь запускаемый код
}

Файл holidays.txt содержит в себе список дат выходных дней, разделенных запятыми. Дата должна быть в формате МММ/ДД/ГГГГ в нижнем регистре. Файл не может превышать 4096 байт.
Файл сгенерировал из производственного календаря с Портала открытых данных. На портале он в виде файла CSV.

Мой файл holidays_ru.txt (14076 Загрузок ) .
Скрипт для генерации gen_holidays.py (9978 Загрузок ) .

UPD(28.05.2022): обновил скрипт.

Один ответ к “Запуск скрипта в MikroTik по будням”

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *