tcron 与 BIOS 定时开机加传统 cron 相比有什么优势?

tcron 的核心优势是:把“定时开机”和“定时任务”合并到同一个工具里管理,因此可以一天多次开机/关机、按周跳过某些天,并且不用分别配置 BIOS 和 cron。它适合有 ATX 闹钟开机能力的主板、且 Linux 内核支持 /dev/rtc 的场景;如果硬件不支持 ATX 闹钟开机,tcron 无法替代 BIOS 完成上电。

对比维度

维度 tcron BIOS 定时开机 + 传统 cron
一天内开机/关机次数 可多次 通常只能设定一次开机
按周跳过某些天 支持 依赖 BIOS 能力,通常不灵活
配置位置 只需配置 tcron 需要分别设置 BIOS 和 cron
使用难度 相对更简单 两套配置,较繁琐
硬件前提 主板支持 ATX 闹钟开机,内核支持 /dev/rtc 主板支持 BIOS 定时开机

它具体解决了什么问题

传统做法里,BIOS 负责“什么时候给机器上电”,cron 负责“开机后做什么”。两者是分开的,所以会遇到两个限制:

  • BIOS 一般只能设置每天一次定时开机,做不到一天多次上电。
  • 想跳过一周中的某几天,往往要在 BIOS 或 cron 里绕,配置不直观。

tcron 把这两件事整合起来,因此可以做到:

  • 一天内执行多次“开机 → 运行任务 → 关机”的循环。
  • 按周跳过某些天,不必每天都触发。
  • 只维护 tcron 一处配置,不用同时改 BIOS 和 cron。

典型用途

根据项目说明,tcron 的用途包括:

  • 定时开机播放音乐或声音,再自动关机,可当作闹钟或提醒器。
  • 录制电视或广播节目:到点开机、开始录制、录完关机。

这些场景的共同点是:需要在一天内多个时间点自动上电并执行任务,而这正是传统 BIOS 定时开机加 cron 不擅长的部分。

使用前必须确认的条件

tcron 不是纯软件方案,它依赖硬件和内核能力:

  • 主板必须支持 ATX 闹钟开机(ATX alarm power-up)。
  • Linux 内核必须支持 /dev/rtc。

如果这两项不满足,即使装了 tcron 也无法实现自动上电。因此在决定是否用它之前,先确认主板和内核是否具备这两个前提,再对比传统方案是否值得替换。

tcron.sourceforge.net
tcron : ATX power crond