Планировщик заданий Mikrotik
Добрый день, коллеги. Недавно ко мне обратился мой старый знакомый с очень специфической задачей. И, как вы уже догадались, он использует роутеры Mikrotik. Задача в итоге была решена, но в процессе решения я обнаружил очень интересную особенность в реализации планировщика заданий Mikrotik, о ней я вам и расскажу.
Начнём с официальной документации на сайте Микротик: https://wiki.mikrotik.com/wiki/Manual:System/Sched…
Там довольно подробно описаны все возможные настройки, но совсем мало информации об особенностях работы.
Там сказано следующее:
- Перезагрузка роутера сбросит счётчики количества выполнений каждого из заданий.
- Если одновременно должны быть запущены 2 задания, то они выполнятся в том порядке, в котором они идут в планировщике. (Это может быть важно, например, если одно задание должно отключить другое).
- Если нужна сложная схема выполнения каких-либо операций, то это можно реализовать при помощи раздела /system script.
Но мной была обнаружена следующая особенность – весь код задания планировщика загружается в оперативную память и уже потом из неё выполняется (вне зависимости от количества операций в самом планировщике).
Мне показалось, что на словах данная особенность будет не очень понятна, поэтому я решил привести небольшой пример:
:local ifName “tunnel”;
:if ([/interface find name=$ifName]=””) do={
/system logging disable numbers=0;
/system logging disable numbers=1;
/system logging disable numbers=2;
/system logging disable numbers=3;
/ip route remove numbers=0;
/system scheduler remove schedule1;
/system reboot;
}
Данный пример, собранный на коленке, выполняется раз в 5 секунд и проверяет наличие интерфейса с названием tunnel.
Если он не обнаруживает данный туннель:
- Отключает 4 стандартных правила логгирования в Mikrotik.
- Удаляет маршрут с индексом 0 (в нашем случае, это маршрут в интернет по умолчанию).
- Удаляет сам себя.
- Перезагружает роутер.
Таким образом можно довести до инфаркта своего молодого и неопытного коллегу, в случае, если он удалит туннель. В принципе, в скрипте можно сделать очень много всего, но, т.к. скрипт удаляет сам себя, искать все изменения вашему коллеге придётся сравнивая текущую конфигурацию с той, что есть в бэкапе (если он есть), либо конфигурировать роутер с нуля.
Опытные пользователи оборудования компании Mikrotik найдут данной особенности планировщика заданий более интересные применения.
Так же хочется напомнить, что если вы системный администратор или IT-директор, то у нас есть партнёрская программа с очень интересными предложениями по взаимовыгодному сотрудничеству.
Статью подготовил Сертифицированный консультант Mikrotik, технический директор компании Первый Сервисный Провайдер Гавриш Артём .
С подробностями вы можете ознакомиться у нашего онлайн-консультанта, оставив контакты через форму обратной связи или позвонив по телефону (812) 425-12-19.