梅林固件添加定时重启计划

折腾 2019/01/18

最近家里的米家智能设备总是不定时的失联,表现为小爱音响无法控制这些设备。只能重启路由器恢复。

然而梅林内置的重启计划(系统管理-Enable Reboot Scheduler)设置后并不生效。不晓得怎么回事…… :抠鼻:

于是想到可以直接在crontab里添加reboot命令,登上路由器SSH,crontab -e 添加 0 4 * * * reboot

凌晨4点钟,路由器倒是重启了,可是再次查看crontab,发现我添加的重启任务丢失了…… :二哈:

继续研究。

https://github.com/RMerl/asuswrt-merlin/wiki/Scheduled-Reboot 找到了解决方法

打开路由器 /jffs/scripts/init-start 脚本(如没有该文件,可以自行新建),添加以下命令

#!/bin/sh
cru a ScheduledReboot "0 4 * * * /sbin/reboot"

init-start脚本作用是:在JFFS挂载后,其他服务启动前执行脚本中的命令,等于是优先级最高的自定义脚本。

保存脚本后还要设置权限

chmod a+rx /jffs/scripts/*

OK,重启一下路由器。这样添加定时重启计划就不会丢失了。

其他自定义脚本可以参考:https://github.com/RMerl/asuswrt-merlin/wiki/User-scripts

本文标签:


4条评论

  • 哈哈侠 评论于

    梅林改版7.9.1为了解决软件中心奔溃问题,修改了数据库类型,保证软件的稳定性,因为这次修改定时脚本和超时脚本失效了,其他项中的定时重启应该是用到改定时脚本功能,所以无法在此中定时重启,开发者权衡时应该是认为软件中心的重要性超过定时脚本,因为软件中心一旦奔溃,需要格式化整个jffs分区,这对于用户来说是一个痛,特别是380已经完结,而定时脚本的使用率普遍不高,且可以自行编写脚本解决大部分需求

  • sjq 评论于

    请问怎么创建init-start 脚本

    • Bug侠 评论于

      @sjq 使用shell下的vi或者vim编辑工具,或者WinSCP,文章里没有写,您可以百度一下这几个工具的使用方法。

      • sujieqi 评论于

        @Bug侠 已处理.谢谢

    评论(*号为必填项)关闭回复