#####Local variables defined######
local updateReport ""
local closingStatement ""
local deviceName [/system identity get name]
local deviceDate [/system clock get date]
local deviceTime [/system clock get time]
local hwModel [/system routerboard get model]
local osVersion [/system package get system version]
local currentFirmware [/system routerboard get current-firmware]
local upgradeFirmware [/system routerboard get upgrade-firmware]
#####Report formatted with basic info######
set updateReport ($updateReport . "Router Update Report for $deviceName\n")
set updateReport ($updateReport . "Report generated on $deviceDate at $deviceTime\n\n")
set updateReport ($updateReport . "Hardware Model: $hwModel\n")
set updateReport ($updateReport . "Router OS Version: $osVersion\n")
set updateReport ($updateReport . "Current Firmware: $currentFirmware\n")
set updateReport ($updateReport . "Upgrade firmware: $upgradeFirmware\n")
set closingStatement ($closingStatement . "The current firmware for [$deviceName] is up to date\n")
#####If statement that compares the firmware, updates, and sends email######
#####Confirms or denies need for update######
if ($currentFirmware > $upgradeFirmware)
do={
/system routerboard upgrade;
/tool e-mail send subject="[$deviceName] firmware was successfully Updated" to="address@gmail.com" body=$closingStatement
/system reboot;
}
else={
/tool e-mail sent subject="[$deviceName] firmware didn't need Updating" to="address@gmail.com" body="The Firmware for [$deviceName] didn't need to be updated. Current firmware [$currentFirmware] is up to date."
}