00❗ Muammo
MikroTik RouterOS avtomatik yangilash jarayonini boshqarish muammo bo'lishi mumkin.
01🎯 Yechim
Avto yangilash skripti yordamida RouterOSning so'nggi versiyasiga yangilash imkoniyati yaratiladi.
02🛠 Sozlash bosqichlari
1️⃣ Skript tayyorlash
Skriptni ishga tushirishdan avval, asosiy RouterOS versiya raqamini saqlash kerak.
/file set latestVer.txt content="3.24";
2️⃣ Skriptni ishga tushirish
Skriptni ishga tushirish uchun quyidagi kodni ishlatish mumkin:
:local lMajor; :local lMinor; :local vMajor; :local vMinor; :local myVer [/system resource get version]; :for i from=0 to=([:len $myVer] - 1) do={ :if ( [:pick $myVer $i] = ".") do={ :set vMajor [:tonum [:pick $myVer 0 $i]]; :set vMinor [:tonum [:pick $myVer ($i + 1) [:len $myVer]]]; } } :if ($vMajor 3) do={ :log warning "RouterOS versiya juda eski ($vMajor.$vMinor), yangilash skripti bilan mos emas"; } else={ :local platform [/system resource get architecture-name]; /tool fetch address="172.16.0.1" src-path="latestVer.txt" user="admin" password="" mode=ftp; :local lVer [/file get latestVer.txt content]; :for i from=0 to=([:len $lVer] - 1) do={ :if ( [:pick $lVer $i] = ".") do={ :set lMajor [:tonum [:pick $lVer 0 $i]]; :set lMinor [:tonum [:pick $lVer ($i + 1) [:len $lVer]]]; } } :if (($vMajor = $lMajor) && ($vMinor $lMinor)) do={ :local pckgName "routeros-" . $platform . "-" . $lMajor . "." . $lMinor . ".npk"; /tool fetch address=[:resolve "www.mikrotik.com"] host="www.mikrotik.com" mode=http src-path="download/" . $pckgName; /system reboot; } else={ :log info "Yangilash skripti: allaqachon so'nggi versiya"; } }
03⚠️ Diqqat
Skript RouterOS 3.x versiyasi uchun mo'lyallangan. Versiya farqi bo'lsa, skript ishlamay qolishi mumkin.
04✅ Xulosa
Avto yangilash skripti yordamida RouterOSning so'nggi versiyasiga yangilash imkoniyati yaratiladi.
Izohlar
Hali izoh yo‘q — birinchi bo‘lib fikr bildiring.