Скрипт автоматического обновления прошивки (загрузчика) MikroTik после обновления версии RouterOS, чтобы версии MikroTik RourerOS и загрузчика RouterBOARD совпадали.
Раньше, мне приходилось вручную обновлять версию загрузчика RouterBOARD, после обновления версии RouterOS, это требовало дополнительных затрат времени и внимания, когда устройств MikroTik стало много. Я написал скрипт для автоматизации этого процесса.
Другие языки:
- ?? MikroTik scripts: RouterBOARD firmware auto upgrade
- ?? Scripts de MikroTik: actualización automática del firmware de RouterBOARD
- ?? MikroTik Scripts: Mise à jour automatique du micrologiciel RouterBOARD
- ?? MikroTik-Skripte: Automatisches Upgrade der RouterBOARD-Firmware
- ?? MikroTik-scripts: automatische upgrade van RouterBOARD-firmware
- ?? Scripts MikroTik: atualização automática do firmware RouterBOARD
- ?? Skrip MikroTik: RouterBOARD firmware auto upgrade
Описание
Скрипт запускается через 3 минуты (задержка 180 секунд) после загрузки устройства MikroTik. Сравнивается используемая версия прошивки RouterBOARD (current-firmware) и версия RouterBOARD предлагаемая для обновления (upgrade-firmware). Если версии не совпадают, устройство MikroTik скачивает обновленную версию прошивки RouterBOARD и перезагружает устройство после установки новой версии прошивки.
✏️ Заметка: проверьте что через заданное время паузы до запуска скрипта, интернет действительно успеет подключиться или увеличьте задержку до запуска скрипта.
Создать скрипт (вручную)
Так как данный скрипт должен запускаться сразу после загрузки устройства, создаем скрипт в планировщике заданий, а не в хранилище скриптов.
Меню
[System] - [Scheduler] - [+]
Данные скрипта
Name: AutoUpgradeFirmware Start Time: startup Policy: read, policy, reboot, write.
Скрипт
:delay 180s;
/system/routerboard
:if ([get current-firmware] != [get upgrade-firmware]) do={
upgrade;
/system/reboot;
}
Создать скрипт (автоматически)
/system scheduler
add name=AutoUpgradeFirmware on-event=":delay 180s;\r\
\n/system/routerboard\r\
\n:if ([get current-firmware] != [get upgrade-firmware]) do={\r\
\n upgrade;\r\
\n /system/reboot;\r\
\n }" policy=reboot,read,write,policy start-time=startup
Сейчас версия прошивки устройства (загрузчика) всегда совпадает с версией RouterOS, и мне не нужно тратить время на ручное обновление прошивки.
Скрипт проверен: RouterOS v7
? Скрипт автоматическое обновление прошивки MikroTik RouterBOARD при изменении установленной версии RouterOS обсуждался в этой статье. Я надеюсь, что теперь вы сможете автоматизировать задачу обновления RouterOS и версии загрузчика устройства. Однако, если вы столкнетесь с каким-то проблемами при настройке скрипта, не стесняйтесь написать в комментариях. Я постараюсь помочь.
Добрый день, а подскажите, прошивку скрипт скачал но она висит сейчас как Upgrade firmware (не Current). Для полного обновления нужно выполнить /system/routerboard upgrade set yes. Как это можно автоматизировать?