diff options
Diffstat (limited to 'check-routeros-update')
-rw-r--r-- | check-routeros-update | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/check-routeros-update b/check-routeros-update index 9109e1d..931c32f 100644 --- a/check-routeros-update +++ b/check-routeros-update @@ -8,12 +8,14 @@ :global Identity; :global SafeUpdateUrl; +:global SafeUpdatePatch; :global SentRouterosUpdateNotification; :global DeviceInfo; :global LogPrintExit; :global ScriptFromTerminal; :global SendNotification; +:global VersionToNum; :local DoUpdate do={ :if ([ / system script print count-only where name="packages-update" ] > 0) do={ @@ -43,6 +45,18 @@ } :if ($Update->"installed-version" != $Update->"latest-version") do={ + :local NumInstalled [ $VersionToNum ($Update->"installed-version") ]; + :local NumLatest [ $VersionToNum ($Update->"latest-version") ]; + + :if ($SafeUpdatePatch = true && $NumInstalled < $NumLatest && \ + ($NumInstalled & 0xffff0000) = ($NumLatest & 0xffff0000)) do={ + $LogPrintExit info ("Version " . $Update->"latest-version" . " is a patch release, updating...") false; + $SendNotification ("RouterOS update") \ + ("Version " . $Update->"latest-version" . " is a patch update for " . $Update->"channel" . \ + ", updating on " . $Identity . "...") "" "true"; + $DoUpdate; + } + :if ([ :len $SafeUpdateUrl ] > 0) do={ :local Result; :do { |