MikroTik-Skripte: Auf RouterOS-Update prüfen

MikroTik-Skript, das nach einem Update für RouterOS sucht. Wenn ein Systemupdate gefunden wird, sendet es eine Nachricht an Telegram. Andernfalls wird ein Protokoll über das Fehlen von Updates geschrieben.

? For the script to work, you must have a Telegram bot Token and a chat ID or a personal ID. Creating a Telegram bot and getting the required IDs is not the topic of this article.

Die Telegrammnachricht enthält:

  1. Gerätekennung;
  2. eine Nachricht, die die Aktualisierungsversion angibt;
  3. Link zur offiziellen Website mit einer Beschreibung der Änderungen;
  4. Informationen zur aktuellen Geräteversion und zum Release-Baum.
Telegrammnachricht zur Aktualisierung von RouterOS
Beispiel für Telegrammnachrichten von WhiteHouseMikroTik

Artikel in anderen Sprachen:
?? – 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-scripts: Controleer op RouterOS-updates

Gerät Identity ändern

Ändern Sie die Geräte-ID, um besser zu verstehen, welches Gerät die Nachricht sendet.

[System] -> [Identity]

oder

/system identity set name="WhiteHouseMikroTik"

Erstellen Sie ein Skript zum Überprüfen des RouterOS-Updates

Die folgenden Berechtigungen sind erforderlich, damit das Skript das RouterOS-Update überprüfen kann: read, write, policy, test.

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

Skriptcode:

# 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-Skripte: Überprüfen Sie das RouterOS-Update MikroTik und senden Sie eine Nachricht an Telegram

Wenn keine Updates gefunden werden, druckt das Skript eine Nachricht in das Protokoll. So können Sie verstehen, dass das Skript erfolgreich funktioniert.

Fügen Sie den Skriptstart zum Zeitplan hinzu

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

Skriptcode:

/system script run CheckUpdate
Hinzufügen eines Skripts zum Überprüfen des RouterOS-Updates zum MikroTik-Taskplaner

Jetzt wird das Update eines Geräts nicht vergessen, jedes MikroTik-Gerät wird täglich überprüft und erinnert Sie an das Update!


? In diesem Artikel wurde erläutert, wie Sie RouterOS-Updates überprüfen und eine Nachricht an Telegram senden. Ich hoffe, Sie können jetzt RouterOS-Versionen auf MikroTik-Geräten steuern. Wenn Sie jedoch beim Einrichten auf Probleme stoßen, können Sie diese gerne in die Kommentare eintragen. Ich werde versuchen zu helfen.

Das Skript wird überprüft: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert