Better docs

This commit is contained in:
Pothi Kalimuthu 2022-02-12 14:03:41 +05:30
parent f78b1a159b
commit 97345bd33b
5 changed files with 63 additions and 56 deletions

View file

@ -0,0 +1,24 @@
# Alert upon new firmware for LTE Modem
# Ref: https://wiki.mikrotik.com/wiki/Manual:Interface/LTE#Modem_firmware_upgrade
:local adminEmailAddress "admin@example.com"
:log info "Checking for new firmware for LTE Modem..."
# if you run this script at "startup",
# the following indicates the time for the internet to go "up"
:delay 60s
:local lteFirmwareInfo [/interface lte firmware-upgrade lte1 as-value];
:local lteInstalledVer ($lteFirmwareInfo->"installed");
:local lteLatestVer ($lteFirmwareInfo->"latest");
:if ( $lteInstalledVer != $lteLatestVer ) do={
/tool e-mail send to="$adminEmailAddress" subject="[Mikrotik] A new FIRMWARE update is available for (SXT) LTE." body="See subject!"
:log critical "A new firmware is available for LTE modem and an email is probably sent to '$adminEmailAddress'."
} else={
:log info "No new firmware update for LTE."
:log info "LTE Installed Firmware Version: $lteInstalledVer"
:log info " LTE Latest Firmware Version: $lteLatestVer"
}

View file

@ -0,0 +1,39 @@
# Alert upon new version
# requirement/s: $adminEmailAddress
:local adminEmailAddress "admin@example.com"
:log info "Checking for new version of RouterOS..."
# if you run this script at "startup",
# the following indicates the time for the internet to go "up"
:delay 60s
/system package update
check-for-updates once
:local verionStatus
:do {
:delay 2s
:set $versionStatus [get status]
# alternative way to get the above info
# :set $versionStatus ([print as-value]->"status")
} while=( $versionStatus = "finding out latest version..." )
# for debugging
# :put $versionStatus
# :put $adminEmailAddress
:if ( $versionStatus = "New version is available" ) do={
# alternative method
# :if ( [get installed-version] != [get latest-version] ) do={
:log info "A new firmware is available for Router OS and an email is probably sent to $adminEmailAddress."
/tool e-mail send to="$adminEmailAddress" \
subject="[Mikrotik] Software Update is Available" \
body="A new update is available for your MikroTik device"
} else={
:log info "System is already up to date"
}

View file

@ -1,27 +0,0 @@
# Alert upon new version
# requirement $adminEmailAddress or configure it below
# :local adminEmailAddress "admin@example.com"
# if you run this script at "startup",
# the following indicates the time for the internet to go "up"
:delay 60s
/system package update
check-for-updates once
:local verionStatus
:set $versionStatus [get status]
# alternative way to get the above info
# :set $versionStatus ([print as-value]->"status")
:put $versionStatus
:put $adminEmailAddress
:if ( $versionStatus = "New version is available" ) do={
# alternative method
# :if ( [get installed-version] != [get latest-version] ) do={
/tool e-mail send to="$adminEmailAddress" \
subject="[Mikrotik] Software Up date Available" \
body="A new update is available for your MikroTik device"
}

View file

@ -1,14 +0,0 @@
:local installedFirmware;
:local latestFirmware;
set $installedFirmware ([/int lte info lte1 once as-value]->"revision");
:put " Installed Firmware: $installedFirmware";
set $latestFirmware ([/int lte firmware-upgrade lte1 as-value]->"latest");
:put " Latest Firmware: $latestFirmware";
:if ($installedFirmware != $latestFirmware) do={
:log info "A firmware update is available!!";
} else={
:log info "The installed firmware is the latest firmware!";
}

View file

@ -1,15 +0,0 @@
# Ref: https://wiki.mikrotik.com/wiki/Manual:Interface/LTE#Modem_firmware_upgrade
:local lteFirmwareInfo [/interface lte firmware-upgrade lte1 as-value];
:local lteInstalledVer ($lteFirmwareInfo->"installed");
:local lteLatestVer ($lteFirmwareInfo->"latest");
:if ( $lteInstalledVer != $lteLatestVer ) do={
/tool e-mail send to="$emailAddress" subject="[Mikrotik] A new FIRMWARE update is available for (SXT) LTE." body="See subject!"
:log info "A new firmware is available for LTE modem."
} else={
:log info "No new firmware update for LTE."
:log info "LTE Installed Firmware Version: $lteInstalledVer"
:log info "LTE Latest Firmware Version: $lteLatestVer"
}