pothi.mikrotik-scripts/scripts/firmware-check-ros.rsc

44 lines
1.2 KiB
Text
Raw Permalink Normal View History

# Alert upon new Router OS Version
# requirement/s:
# policy: read, write, policy, test
# active internet
# $adminEmail
:global adminEmail
:if ([:typeof $adminEmail] = "nothing" || $adminEmail = "") do={
:log error "adminEmail is not defined or nil."; :error "Error: Check the log"; }
:local versionStatus
:log info "\nChecking for new version of Router OS..."
/system package update
check-for-updates once
:do {
:delay 3s
:set $versionStatus [get status]
# alternative way to get the above info
# :set $versionStatus ([print as-value]->"status")
} while=( $versionStatus = "finding out latest version..." )
:local installedVersion [get installed-version]
:local latestVersion [get latest-version]
:if ( $versionStatus = "New version is available" ) do={
# alternative method
# :if ( installedVersion != $latestVersion ) do={
:log info "A new update is available for Router OS."
/tool e-mail send to="$adminEmail" \
subject="Software Update is Available" \
body="A new Router OS update is available...
Installed Version: $installedVersion
Latest Version: $latestVersion
"
} else={
:log info "Router OS is up to date."
}