找回密码
 加入我们
搜索
      
查看: 5118|回复: 11

RouterOS定时更新固件,更新boot脚本。小众小众

[复制链接]
发表于 2022-8-15 17:40 | 显示全部楼层 |阅读模式
送朋友一个AP,长时间不更新固件没问题,不过还是想给定时更新下。于是结合大佬的脚本,自己写了一个:


# 仅适用于RouterOS 7.x, 固件更新脚本参考https://www.roszj.com/1797.html
# 每三天03:33:00重启下AP,每两周检查固件更新和boot更新
# ~~~ 复制粘贴到txt或者Sublime中,另存为system.rsc,然后导入winbox中,再im file=system.rsc即可 ~~~

# aug/15/2022 17:33:21 by RouterOS 7.4.1
#
# model = RBD52G-5HacD2HnD
/system clock
set time-zone-autodetect=no time-zone-name=Asia/Shanghai
/system identity
set name=RBD52Gap220815
/system ntp client
set enabled=yes
/system ntp client servers
add address=pool.ntp.org
add address=cn.ntp.org.cn
add address=ntp.aliyun.com
/system routerboard settings
set force-backup-booter=yes
/system scheduler
add interval=3d name=RbootSch on-event="/system script run \"RbootScr\"" \
    policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
    start-date=jan/01/1970 start-time=03:33:00
add interval=2w name=Package_Updt_Sch on-event=\
    "/system script run \"Package_Updt\"" policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
    start-date=jan/01/1970 start-time=04:10:00
add interval=2w name=RouterBT_Upgd_Sch on-event=\
    "/system script run \"RouterBT_Upgd\"" policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
    start-date=jan/01/1970 start-time=05:00:00
/system script
add dont-require-permissions=no name=RouterBT_Upgd owner=admin policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\
    log info \"::Checking RouterBOOT upgrade...\"\r\
    \n:local crouterbt;\r\
    \n:local urouterbt\r\
    \n:set crouterbt [system routerboard get current-firmware];\r\
    \n:set urouterbt [system routerboard get upgrade-firmware];\r\
    \n:log info ( \"::current-firmware is \"  . \$crouterbt . \", upgrade-firm\
    ware is \" . \$urouterbt);\r\
    \n\r\
    \n:if ( \"\$crouterbt\" != \"\$urouterbt\" ) \\\r\
    \ndo={\r\
    \n:log info \"::Will update MT RouterBOOT\";\r\
    \n/system routerboard upgrade;\r\
    \n:delay 10s;\r\
    \n/system reboot\r\
    \n} else={\r\
    \n:log info \"::No MT RouterBOOT upgrade\";\r\
    \n};"
add dont-require-permissions=no name=Package_Updt owner=admin policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\
    log info \"::Checking MT_Package firmware...\";\r\
    \n/system package update check-for-updates\r\
    \n:delay 10s;\r\
    \n:if ([/system package update get status]=\"New version is available\") d\
    o={\r\
    \n  :log info \"::Downloading MT_Package firmware...\";\r\
    \n  /system package update download\r\
    \n  :delay 20s;\r\
    \n  :if ([/system package update get status]=\"Downloaded, please reboot r\
    outer to upgrade it\") do={\r\
    \n    :log info \"::MT_Package Download finish, Rebooting\";\r\
    \n    :delay 10s;\r\
    \n    /system reboot\r\
    \n  } else={\r\
    \n    :log info \":::Downloading firmware......\";\r\
    \n    /system package update download\r\
    \n    :delay 20s;\r\
    \n    :if ( [/system package update get status]=\"Downloaded, please reboo\
    t router to upgrade it\" ) do={\r\
    \n      :log info \"MT_Package Download finish, Rebooting\";\r\
    \n      /system reboot } else={\r\
    \n        :log info \"::Download MT_Package fail...\";\r\
    \n    }\r\
    \n  }\r\
    \n} else={\r\
    \n  :if ([/system package update get status]=\"System is already up to dat\
    e\") do={\r\
    \n  :log info \"::No MT_Package update. System is already up to date.\"\r\
    \n  }\r\
    \n}\r\
    \n"
add dont-require-permissions=no name=RbootScr owner=gd policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\
    ":log info \"::Reboot Sch\";\r\
    \n:delay 2;\r\
    \n/system reboot\r\
    \n/\r\
    \n"

# ~~~  复制粘贴到txt或者Sublime中,另存为system.rsc,然后导入winbox中,再im file=system.rsc即可 ~~~
发表于 2022-8-15 17:59 | 显示全部楼层
本帖最后由 liuleisail 于 2022-8-15 18:02 编辑

其实没必要3天重启吧。固件检查很可以,学习,点赞~!希望楼主多出好用脚本

我是linux里面跑着docker,每天自动运行检查,如果有更新那就推送tg给我。升不升看看大家尝鲜后的反应再决定

 楼主| 发表于 2022-8-15 18:03 | 显示全部楼层
liuleisail 发表于 2022-8-15 17:59
其实没必要3天重启吧。固件检查很可以,点赞~!

我是linux里面跑着docker,每天自动运行检查,如果有更新 ...

嗯嗯。

更新还会有bug,所以这个脚本用起来有一定风险。不过这个当交换机+ap用,就还好~~
发表于 2022-8-17 15:18 | 显示全部楼层
本帖最后由 aitkots 于 2022-8-17 15:19 编辑

我之前也研究过如何让RouterOS自动更新,脚本我分享到Gitee了:系统自动化及邮件脚本
 楼主| 发表于 2022-8-17 15:33 | 显示全部楼层
aitkots 发表于 2022-8-17 15:18
我之前也研究过如何让RouterOS自动更新,脚本我分享到Gitee了:系统自动化及邮件脚本 ...

活捉大佬一只
发表于 2022-8-17 15:35 | 显示全部楼层

大佬不敢当,只是喜欢折腾
 楼主| 发表于 2022-8-17 15:35 | 显示全部楼层
aitkots 发表于 2022-8-17 15:35
大佬不敢当,只是喜欢折腾

发表于 2022-8-26 23:03 | 显示全部楼层
能把拨号 自己的公网IP 发回给自己邮箱吗??
发表于 2022-8-27 03:35 | 显示全部楼层
提醒可以,直接更新小心bug无法启动gg
当然为了见嫂子就是另一回事了
 楼主| 发表于 2022-8-27 06:19 | 显示全部楼层
gdanmac 发表于 2022-8-26 23:03
能把拨号 自己的公网IP 发回给自己邮箱吗??

这个用的是he的ddns。有api接口,用脚本更新就好
 楼主| 发表于 2022-8-27 06:19 | 显示全部楼层
gdanmac 发表于 2022-8-26 23:03
能把拨号 自己的公网IP 发回给自己邮箱吗??

也可以用邮箱发给自己ip,不过这个我没弄。
 楼主| 发表于 2022-8-27 06:20 | 显示全部楼层
goat 发表于 2022-8-27 03:35
提醒可以,直接更新小心bug无法启动gg
当然为了见嫂子就是另一回事了 ...

666…感谢提醒
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-11-23 03:34 , Processed in 0.012258 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表