侧边栏壁纸
博主头像
Backspace‘s Blog 博主等级

行动起来,活在当下

  • 累计撰写 33 篇文章
  • 累计创建 8 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

ros_sys_upgrade_worker.conf

Backspace
2026-01-21 / 0 评论 / 0 点赞 / 0 阅读 / 0 字 / 正在检测是否收录...
## Fox RouterOS System & Firmware Updater
:local UpdateChannel "stable";
:local DeviceName [/system identity get name ];
:local UpdateFirmware true;
:local Model;
:local Arch;

## Initiate Check on RouterOS Arch
:onerror e {
    :set Model [/system routerboard get model ];
    :set Arch true;
} do={
    :set Arch false;
}
## End RouterOS Arch Check

## Update RouterOS
:log info ("Checking RouterOS status...");

/system package update
set channel=$UpdateChannel
check-for-updates

# Wait on slow connections
:delay 60s;

:local SystemVer [/system package update get installed-version ];
:local UpstreamVer [/system package update get latest-version ];
:local Status [/system package update get status ];
:local Channel [/system package update get channel ];

:log info ("System of $DeviceName is $SystemVer");

:if ($SystemVer != $UpstreamVer) do={
    # New version of RouterOS available
    :log info ("New version is available ( channel: $Channel ).");
    :log info ("System update: $SystemVer => $UpstreamVer");
    :log info ("Preparing to update system...");
    # Wait for system email log timer
    :delay 210s;
    :log info ("Start updating :) ");
    :delay 90s;
    install
} else={
    # No RouterOS update available, nothing to do, just log info
    :log info ("$Status.");
}
## End Update RouterOS

## Upgrade RouterBOARD Firmware
:if ($Arch) do={

    :if ($UpdateFirmware) do={
        :log info ("Checking RouterBOARD status...");

        /system routerboard
        :local SystemFirmware [/system routerboard get current-firmware ];
        :local UpstreamFirmware [/system routerboard get upgrade-firmware ];

        :log info ("Firmware of $DeviceName is $SystemFirmware");

        :if ($SystemFirmware != $UpstreamFirmware) do={
            # New version of firmware available
            :log info ("New version is available ( $Model ).");
            :log info ("Firmware upgrade: $SystemFirmware => $UpstreamFirmware");
            upgrade
            # Firmware upgraded, need to reboot to finish
            :log info ("A firmware reboot is required.");
            :delay 210s;
            :log info ("Start rebooting :) ");
            :delay 90s;
            /system reboot
        } else={
            # No firmware upgrade available, log info
            :log info ("Firmware is already up to date.");
        }

    } else={
        # Automatic firmware upgrade disabled, log info
        :log info ("Firmware automatic upgrades disabled.");
    }

}
## End Upgrade RouterBOARD Firmware

## End Fox RouterOS System & Firmware Updater

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区