Scripts MikroTik: vérifier la mise à jour de RouterOS

Script MikroTik qui commence à rechercher une mise à jour pour RouterOS. Si une mise à jour du système est trouvée, il envoie un message à Telegram, sinon il écrit un journal sur l’absence de mises à jour.

? Pour que le script fonctionne, vous devez disposer d’un jeton de robot Telegram et d’un identifiant de chat ou d’un identifiant personnel. La création d’un bot Telegram et l’obtention des identifiants requis n’est pas le sujet de cet article.

Le message Telegram contient:

  1. identifiant de l’appareil;
  2. un message indiquant la version de mise à jour;
  3. lien vers le site officiel avec une description des changements;
  4. des informations sur la version actuelle de l’appareil et l’arborescence des versions.
Message télégramme demandant la mise à jour de RouterOS
Exemple de messages Telegram de WhiteHouseMikroTik

Article dans d’autres langues:
?? – MikroTik Scripts: Check RouterOS Update
?? – Scripts MikroTik: Verifique la actualización de RouterOS
?? – MikroTik Скрипты: Проверка обновления RouterOS
?? – MikroTik-Skripte: Auf RouterOS-Update prüfen
?? – MikroTik-scripts: Controleer op RouterOS-updates

Changer de périphérique Identité

Modifiez l’ID de l’appareil pour mieux comprendre quel appareil envoie le message.

[System] -> [Identity]

ou

/system identity set name="WhiteHouseMikroTik"

Créer un script pour vérifier la mise à jour de RouterOS

Les autorisations suivantes sont requises pour que le script vérifie la mise à jour de RouterOS: read, write, policy, test.

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

Code de script:

# 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;
Scripts MikroTik: vérifiez RouterOS Update MikroTik et envoyez un message à Telegram

Si aucune mise à jour n’est trouvée, le script imprime un message dans le journal. Vous pouvez donc comprendre que le script fonctionne correctement.

Ajouter le lancement du script à la planification

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

Code de script:

/system script run CheckUpdate
Ajout d'un script pour vérifier la mise à jour de RouterOS dans le planificateur de tâches MikroTik

Désormais, la mise à jour de tout appareil ne sera pas oubliée, chaque appareil MikroTik sera vérifié quotidiennement et vous rappellera de mettre à jour!


Comment vérifier les mises à jour de RouterOS et envoyer un message à Telegram a été abordé dans cet article. J’espère que vous pouvez désormais contrôler les versions de RouterOS sur les appareils MikroTik. Cependant, si vous rencontrez des problèmes lors de la configuration, n’hésitez pas à écrire dans les commentaires. J’essaierai d’aider.

Le script est vérifié: hAP ac lite [RouterBOARD 952Ui-5ac2nD], RouterOS 6.47.8 (stable).

Laisser un commentaire