MikroTik-scripts: Controleer op RouterOS-updates

MikroTik-script dat begint te controleren op een update voor RouterOS. Als er een systeemupdate wordt gevonden, stuurt het een bericht naar Telegram, anders schrijft het een logboek over de afwezigheid van updates.

? Om het script te laten werken, moet u een Telegram-bot-token en een chat-ID of een persoonlijke ID hebben. Het maken van een Telegram-bot en het verkrijgen van de vereiste ID is niet het onderwerp van dit artikel.

Het Telegram-bericht bevat:

  1. apparaat-ID;
  2. een bericht dat de update versie aangeeft;
  3. link naar de officiële website met een beschrijving van de wijzigingen;
  4. informatie over de huidige apparaatversie en de releasetak.
Telegram Bericht waarin wordt gevraagd om RouterOS bij te werken
Voorbeeld van Telegram-berichten van WhiteHouseMikroTik

Artikel in andere talen:
?? – MikroTik Scripts: Check RouterOS Update
?? – Scripts MikroTik: Verifique la actualización de RouterOS
?? – MikroTik Скрипты: Проверка обновления RouterOS
?? – Scripts MikroTik: vérifier la mise à jour de RouterOS
?? – MikroTik-Skripte: Auf RouterOS-Update prüfen

Verander de apparaat-ID

Wijzig de apparaat-ID om beter te begrijpen welk apparaat het verzoek verzendt.

[System] -> [Identity]

of

/system identity set name="WhiteHouseMikroTik"

Maak een script om de RouterOS-update te controleren

De volgende machtigingen zijn vereist voor het script om de RouterOS-update te controleren: read, write, policy, test.

[System] -> [Scripts] -> [+] -> [Name: CheckUpdate] -> [Policy: read, write, test, policy]

Scriptcode:

# Func: Telegram send message
:local TGSendMessage do={
    :local tgUrl "https://api.telegram.org/bot$Token/sendMessage?chat_id=$ChatID&text=$Text&parse_mode=html&disable_web_page_preview=True";
    /tool fetch http-method=get url=$tgUrl keep-result=no;
}

# Constants
:local TelegramBotToken "987654321:AAFJIVTAWodBwzGX2CLne6-PK4RFNSy-8OY";
:local TelegramChatID "987654321";
:local DeviceName [/system identity get name];
:local TelegramMessageText "\F0\9F\9F\A2 <b> $DeviceName:</b>  ";


# Check Update
:local MyVar [/system package update check-for-updates as-value];
:local Chan ($MyVar -> "channel");
:local InstVer ($MyVar -> "installed-version");
:local LatVer ($MyVar -> "latest-version");


:if ($InstVer = $LatVer) do={
    :set TelegramMessageText  ($TelegramMessageText . "System is already up to date");
} else={
    
    :set TelegramMessageText  "$TelegramMessageText New version $LatVer is available! <a href=\"https://mikrotik.com/download/changelogs\">Changelogs</a>. [Installed version $InstVer, chanell $Chan].";

    $TGSendMessage Token=$TelegramBotToken ChatID=$TelegramChatID Text=$TelegramMessageText;
}

:log info $TelegramMessageText;
MikroTik-scripts: Controleer op RouterOS-updates

Als er geen updates worden gevonden, drukt het script een bericht af naar het logboek. U kunt dus begrijpen dat het script met succes werkt.

Voeg scriptstart toe aan planning

[System] -> [Schedule] -> [+] -> [Name:CheckUpdate] - > [Start Time: 07:00:00] -> [Interval: 1d 00:00:00] -> [Policy: read, write, policy, test]

Scriptcode:

/system script run CheckUpdate
Een script toevoegen voor het controleren van de RouterOS-update aan de MikroTik-taakplanner

Nu zal de update van een apparaat niet worden vergeten, elk MikroTik-apparaat zal het dagelijks controleren en u eraan herinneren om bij te werken!


? Hoe u de RouterOS-update kunt controleren en een bericht naar Telegram kunt sturen, is in dit artikel besproken. Hopelijk kunt u nu RouterOS-versies op MikroTik-apparaten beheren. Als je echter problemen hebt met de installatie, schrijf dan gerust een reactieformulier, ik zal proberen te helpen.

Het script wordt gecontroleerd: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stabiel).

Plaats een reactie