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:
- apparaat-ID;
- een bericht dat de update versie aangeeft;
- link naar de officiële website met een beschrijving van de wijzigingen;
- informatie over de huidige apparaatversie en de releasetak.
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;
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
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).