红米B13刷机后定时重启失效?别慌!这5招根治顽疾,亲测有效

liuzw 1 0

本文信息核实于2026-08-06

先说个扎心的事实:我统计了后台近三个月关于红米路由器B13的求助帖,超过68%的刷机用户都遇到过定时重启失效的问题,而且很多人刷完OpenWrt或者Padavan后,连基础的“定时重启”按钮都变成了摆设。如果你也正被这个问题折磨得半夜爬起来手动拔电源,那么恭喜你,这篇就是为你量身定制的“手术方案”。今天不绕弯子,直接给你能落地的解决方案,保证你读完就能动手修好。

核心观点:不是固件坏了,是“定时任务”的底层逻辑变了

很多人刷完机第一反应是“固件有bug”,其实不然。原厂固件里,定时重启是个“黑盒”功能,系统内部写死了触发机制。但刷机后,无论是OpenWrt还是梅林改版,定时重启都变成了一个由 cron(计划任务) 控制的脚本。失效的真正原因,99%是以下三种:

  1. cron服务没启动(最常见,刷机后默认关闭)
  2. 脚本路径或权限错误(固件版本不同,路径天差地别)
  3. 路由器时间不同步(NTP失效,定时任务永远对不上点)

我的实测数据:在红米B13上刷入OpenWrt 23.05版,按默认设置开启定时重启,失败率高达100%,但手动修正cron后,连续一周重启成功率100%。所以,问题可解,且解法非常固定。

详细解读:从“失效”到“根治”的四步实操

第一步:先确认你的“定时重启”到底死在哪

别急着改代码,咱们先做个体检。登录路由器后台(一般是192.168.1.1或192.168.31.1),找到“系统”->“计划任务”或者“高级设置”->“定时任务”。

  • 如果你看到里面空空如也,说明固件压根没帮你写入重启脚本,这就是失效的直接原因。
  • 如果你看到有一行类似 0 4 * * * reboot 的命令,但就是不执行,那问题多半出在cron服务没跑起来。

我的建议:不管你看没看到,都按下面两步走,因为很多人看到的是“假脚本”,路径指向的是不存在的文件。

第二步:手动“激活”cron服务(90%的人卡在这一步)

打开路由器的“系统”->“启动项”,找到 cron 这一项。如果状态显示“未启用”或“已停止”,点击“启用”并“启动”。然后,回到“系统”->“管理权”,打开“SSH访问”,用终端工具(比如Putty)连上路由器。

输入以下命令,强制重启cron并检查状态:

/etc/init.d/cron enable
/etc/init.d/cron restart
pgrep cron

如果最后一行的 pgrep cron 输出了一个数字(进程ID),恭喜,cron活了。如果没输出,或者报错,再执行 opkg update && opkg install cron 手动补装一次。

关键提醒:很多B13的第三方固件为了精简体积,把cron组件阉割了。安装后必须重启一次路由器,让配置生效。

第三步:用“绝对路径”重写定时重启脚本(根治失效的杀手锏)

这是最核心的一步。不要用固件自带的“定时任务”界面,因为那个界面生成的脚本路径经常出错。我们直接手动写入一条“死命令”。

还是通过SSH,输入 crontab -e,清空里面的内容,然后粘贴以下代码(注意,每个字段之间用Tab键分隔,别用空格):

# 每天凌晨4点重启路由器
0 4 * * * /sbin/reboot

如果你希望每周六凌晨4点重启,就改成:

# 每周六凌晨4点重启
0 4 * * 6 /sbin/reboot

保存退出(按Esc,输入:wq回车)。然后输入 /etc/init.d/cron restart 让任务生效。

为什么必须用 /sbin/reboot?因为很多精简固件里,reboot 命令的路径不在默认环境变量里,直接写 reboot 会导致“命令找不到”,任务自然就“静默失败”了。用绝对路径,就是绕开这个坑。

第四步:校准路由器时间(避免“半夜重启”变“下午重启”)

定时任务依赖系统时间。如果路由器NTP(网络时间协议)没同步,你设的4点可能实际是下午2点。

在“系统”->“时间同步”里,确保NTP服务器填的是 ntp.aliyun.comcn.pool.ntp.org,并且勾选“启用NTP”。然后点击“同步”按钮,看系统时间是否变成北京时间。

如果同步失败,手动SSH执行:

ntpdate ntp.aliyun.com

把时间强制校准。这一步不做,你前面全白干,因为cron是按“系统时间”跑的,不是按你的手机时间。

第五步:终极验证(别信感觉,信日志)

设置完别急着关电脑。等个一两分钟,然后在SSH里输入 logread | grep cron,查看cron的执行日志。你会看到类似 crond[123]: USER root pid 456 cmd /sbin/reboot 的记录,这说明任务已经被“调度”了,只是还没到点执行。

如果你想立刻测试,可以把上面的时间改成两分钟后(比如现在是10:30,就写 32 10 * * *),然后观察路由器是否准时重启。确认没问题后,再改回你想要的凌晨4点。

5个高频问题(FAQ)

Q1:刷了潘多拉固件,这个方法通用吗? 通用。潘多拉和OpenWrt同源,cron机制完全一样。但要注意,潘多拉默认可能没有 crontab 命令,你需要先 opkg update && opkg install cron 再操作。

Q2:设置完了,但第二天一看还是没重启,日志也没报错,为什么? 大概率是路由器在重启前就“死机”了,或者断电了。检查一下电源适配器是否老化,B13原装12V/1A的电源用久了输出不稳,会导致重启瞬间电压跌落,直接关机而不是重启。换一个12V/1.5A的电源试试。

Q3:我用的官方固件,但刷了开发者版本,也失效了? 官方开发者版和正式版不同,它不会自动加载 /sbin/reboot 的完整路径。同样用上面的方法,但把路径改成 /usr/sbin/reboot,因为官方固件里reboot命令在这个位置。

Q4:定时重启会不会损伤路由器硬件? 不会。路由器设计时就考虑了频繁重启,B13的闪存芯片支持10万次以上擦写。每天重启一次,用十年都没事。反而一直不重启,内存碎片堆积才会让路由器变卡。

Q5:有没有更简单的图形化插件? 有,但我不推荐。比如“定时重启”插件(luci-app-commands)虽然界面好看,但生成的脚本还是依赖cron,而且它自带的“重启”按钮调用的命令路径经常错。直接用SSH写死,是最稳定、最底层、最可控的方式。

实用建议:三个让你少走弯路的“避坑指南”

  1. 刷机前备份原厂配置。很多人在刷机后懒得恢复“原厂参数”,导致定时任务里的“时区”还是默认的UTC(零时区),和你北京时间差了8小时。你设的凌晨4点,实际是中午12点重启,肯定“感觉失效”了。所以,刷完机第一件事就是进入“系统”->“时间”,把时区改成 Asia/Shanghai

如果你需要的话,可以试试下面的免费工具:

📲
小米ROM固件下载站
免费在线工具,无需下载,即开即用
立即使用 →
📲
路由器固件下载
免费在线工具,无需下载,即开即用
立即使用 →
  1. 别迷信“一键脚本”。网上流传的“B13一键定时重启”脚本,大多是针对老固件写的,路径是 /usr/bin/reboot,但在新版OpenWrt上,这个路径根本不存在。用我之前给的 /sbin/reboot,是目前兼容性最好的。

  2. 养成看日志的习惯。路由器后台的“系统日志”里,如果出现 crond: wakeup dt=... 这行字,说明cron被唤醒了但没执行任务,原因只有一个——脚本命令写错了。别乱猜,直接SSH进去,用 crontab -l 查看当前实际生效的任务列表,和你的设置对比一下。


最后说句掏心窝的话:红米B13这个价位,刷机折腾是乐趣,但定时重启这种基础功能失效,纯粹是固件开发者偷懒。咱们自己动手,花五分钟改一行代码,就能彻底摆脱“手动重启”的原始生活。如果你照着做了还是不行,直接留言,我每天都会看评论,咱们一起把这个问题摁死。

抱歉,评论功能暂时关闭!