使用 micrond 替代 OpenWRT 的 busybox crond

解决 busybox crond 日志输出只能为错误级别的问题

前言

在 OpenWRT 系统中,定时任务默认由 busybox crond 管理。然而,busybox crond 有一个令人头疼的问题:日志输出仅支持错误级别(error)

为了解决这一问题,我选择了来自 GNU Project 的轻量级 cron 实现 —— micrond,作为 busybox crond 的替代方案。


安装 micrond

首先,通过 opkg 安装 micrond:

1
opkg install micrond

安装完成后,检查 /etc/init.d/micrond,可以发现它是从 /usr/lib/micron.d 目录加载 crontab 的。为了让 micrond 加载到 root 用户的 crontab,我们需要创建一个软链接:

1
ln -s /etc/crontab/root /usr/lib/micron.d/root

接下来,停止并禁用原有的 crond 服务,然后启动 micrond 服务并设置为开机自启:

1
2
service cron stop && service cron disable
service micrond start && service micrond enable

注意: 此后请勿通过 LuCI 界面设置 crontab,因为 LuCI 会重启 crond 服务。请使用命令行 crontab -e 来设置 crontab。


验证 micrond

micrond 设置完成后,定期任务的 stdout 和 stderr 输出将正常显示 info 和 error 级别的信息。

它仅占用不到 1MB 内存,非常轻量。

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计