- Script pro automatický upgrade RouterOS a Firmware s upozorněním na e-mail
- Stačí vložit do Schelduleru nebo do Scripts
:local FWcurrent [/system routerboard get current-firmware]
:local FWupgrade [/system routerboard get upgrade-firmware]
:local RBname [/system identity get name]
:local d [/system clock get date]
:local t [/system clock get time]
### Pro upgrade ROS
/system package update
check-for-updates once
:delay 3s
:if ( [get status] = "New version is available") \
do={ \
:log info "Nova verze ROS je dostupna, stahuji..."
:tool e-mail send to=muj@mail.cz subject="Upgrade RoS - $n" body="$n - $t $d"
install
:log info "Restartuji..."
} \
else={ \
:log info "Aktualni ROS, kontroluji aktualnost Firmware..."
### Pro upgrade Firmware
:if ($FWcurrent = $FWupgrade) \
do={ \
:log info "Aktualni Firmware" \
} \
else={ \
:log info "Neaktualni Firmware"
:delay 2
:log info "Nastavuji upgrade"
/system routerboard upgrade
:delay 10
:log info "Restartuji..."
/system reboot
}
}
Kompletní kod, bez upozornění na e-mail do terminálu pro vložení Schelduleru se spuštěním po startu s opakováním každý týden
/system scheduler
add interval=1w name="upgrade ROS" on-event=":local FWcurrent [/system routerboard get current-firmware]\r\
\n:local FWupgrade [/system routerboard get upgrade-firmware]\r\
\n### Pro upgrade ROS\r\
\n/system package update\r\
\ncheck-for-updates once\r\
\n:delay 3s\r\
\n:if ( [get status] = \"New version is available\") \\\r\
\ndo={ \\\r\
\n:log info \"Nova verze ROS je dostupna, stahuji...\" \r\
\ninstall \r\
\n:log info \"Restartuji...\" \r\
\n} \\\r\
\nelse={ \\\r\
\n:log info \"Aktualni ROS, kontroluji aktualnost Firmware...\" \r\
\n### Pro upgrade Firmware\r\
\n:if (\$FWcurrent = \$FWupgrade) \\\r\
\n do={ \\\r\
\n :log info \"Aktualni Firmware\" \\\r\
\n } \\\r\
\n else={ \\\r\
\n :log info \"Neaktualni Firmware\" \r\
\n :delay 2 \r\
\n :log info \"Nastavuji upgrade\" \r\
\n /system routerboard upgrade\r\
\n :delay 10 \r\
\n :log info \"Restartuji...\"\r\
\n /system reboot\r\
\n } \r\
\n} \r\
\n" policy=reboot,read,write,policy,test,password,sensitive start-time=startup
Dobrý den,
když vložím tento kod do skriptu na mikrotik tak mi to udělá z verze 6.48 na verzi 6.49 a ne na verzi 7.2.1 a udělá to jen Upgrade a ne update FW
do scheduleru jsem dal:
name: upgrade
Start time: ……
interval: 15d 00:00:00
/system script run upgrade
a do skriptu:
name: upgrade
plus celý skript viz níže s vlastním emailem
:local FWcurrent [/system routerboard get current-firmware]
:local FWupgrade [/system routerboard get upgrade-firmware]
:local RBname [/system identity get name]
:local d [/system clock get date]
:local t [/system clock get time]
### Pro upgrade ROS
/system package update
check-for-updates once
:delay 3s
:if ( [get status] = „New version is available“) \
do={ \
:log info „Nova verze ROS je dostupna, stahuji…“
:tool e-mail send to=muj@mail.cz subject=“Upgrade RoS – $n“ body=“$n – $t $d“
install
:log info „Restartuji…“
} \
else={ \
:log info „Aktualni ROS, kontroluji aktualnost Firmware…“
### Pro upgrade Firmware
:if ($FWcurrent = $FWupgrade) \
do={ \
:log info „Aktualni Firmware“ \
} \
else={ \
:log info „Neaktualni Firmware“
:delay 2
:log info „Nastavuji upgrade“
/system routerboard upgrade
:delay 10
:log info „Restartuji…“
/system reboot
}
}
Jo a co ten druhý skript,když budu chtít ten vložím taky celý a kam?
/system scheduler
add interval=1w name=“upgrade ROS“ on-event=“:local FWcurrent [/system routerboard get current-firmware]\r\
\n:local FWupgrade [/system routerboard get upgrade-firmware]\r\
\n### Pro upgrade ROS\r\
\n/system package update\r\
\ncheck-for-updates once\r\
\n:delay 3s\r\
\n:if ( [get status] = \“New version is available\“) \\\r\
\ndo={ \\\r\
\n:log info \“Nova verze ROS je dostupna, stahuji…\“ \r\
\ninstall \r\
\n:log info \“Restartuji…\“ \r\
\n} \\\r\
\nelse={ \\\r\
\n:log info \“Aktualni ROS, kontroluji aktualnost Firmware…\“ \r\
\n### Pro upgrade Firmware\r\
\n:if (\$FWcurrent = \$FWupgrade) \\\r\
\n do={ \\\r\
\n :log info \“Aktualni Firmware\“ \\\r\
\n } \\\r\
\n else={ \\\r\
\n :log info \“Neaktualni Firmware\“ \r\
\n :delay 2 \r\
\n :log info \“Nastavuji upgrade\“ \r\
\n /system routerboard upgrade\r\
\n :delay 10 \r\
\n :log info \“Restartuji…\“\r\
\n /system reboot\r\
\n } \r\
\n} \r\
\n“ policy=reboot,read,write,policy,test,password,sensitive start-time=startup
Ano, skript je pro v6, upgrade firmware udělá při dalším spuštění skriptu (zjistí že je aktuální verze RoS a provede upgrade).
Druhý kod stačí zkopírovat a jen ho vložit (popř. odEnterovat) do terminálu a vše se naimportuje.
díky jde tam nahrát když je pro verzi 6 a já tam mám verzi v mikrotiku 7 bude updatovat zase 7?
díky moc
Zatím ještě nikde nemám nasazenou v7, až budu, určitě budu script aktualizovat.
díky jde tam nahrát když je pro verzi 6 a já tam mám verzi v mikrotiku 7 bude updatovat zase 7?