Script for updating SW and HW
ROS script
/system/scheduler add \
interval=1d \
name=MikrotikUpgrade \
on-event="/log/info message=UPGRADE_SOFT_CHECK \
\nsystem package update check-for-updates \
\n:if ([/system package update get installed-version] != [/system package update get latest-version]) do={ \
\n/log/info message=UPGRADE_SOFT_UPDATE \
\n/system package update install; \
\n} else={ \
\n/log/info message=UPGRADE_SOFT_SKIP \
\n} \
\n/log/info message=UPGRADE_HARD_CHECK \
\n:if ([/system routerboard get current-firmware] != [/system routerboard get upgrade-firmware]) do={ \
\n/log/info message=UPGRADE_HARD_UPDATE \
\n/system routerboard upgrade; \
\n:delay 40s \
\n/system reboot \
\n} else={ \
\n/log/info message=UPGRADE_HARD_SKIP \
\n}" start-date=1970-01-02 start-time=03:30:00
Ansible
- name: scheduler | MikrotikUpgrade
vars:
mikrotik_scheduler_name: 'MikrotikUpgrade'
community.routeros.command:
commands:
- /system/scheduler/remove {{ mikrotik_scheduler_name }}
- /system/scheduler/add
name={{ mikrotik_scheduler_name }}
interval=1d
start-date=1970-01-02
start-time=03:30:00
on-event="/log/info message=UPGRADE_SOFT_CHECK
\n\
system package update check-for-updates
\n\
:if ([/system package update get installed-version] != [/system package update get latest-version]) do={
\n\
/log/info message=UPGRADE_SOFT_UPDATE
\n\
/system package update install;
\n\
} else={
\n\
/log/info message=UPGRADE_SOFT_SKIP
\n\
}
\n\
/log/info message=UPGRADE_HARD_CHECK
\n\
:if ([/system routerboard get current-firmware] != [/system routerboard get upgrade-firmware]) do={
\n\
/log/info message=UPGRADE_HARD_UPDATE
\n\
/system routerboard upgrade;
\n\
:delay 40s
\n\
/system reboot
\n\
} else={
\n\
/log/info message=UPGRADE_HARD_SKIP
\n\
}"