Cron 表达式生成器

逐字段构建 cron 调度计划,查看其通俗易懂的含义,并复制 crontab 行——或选择一个常见示例快速开始。

每 5 分钟.
常见示例

即时生成 Cron 表达式

设置每个字段——分钟、小时、日、月和星期——即可获得可直接使用的 crontab 行,以及通俗易懂的说明。

全部操作均在浏览器本地完成——不会向任何地方发送数据,也不会存储任何调度计划。

什么是 Cron 表达式?

Cron 表达式是一种由五个字段组成的模式,类 Unix 系统使用它来安排命令在固定的时间、日期或间隔自动运行。

每个字段控制不同的时间单位——分钟、小时、日、月和星期——它们共同精确定义任务应在何时运行。

Cron 字段语法

分钟 0–59
小时 0–23
1–31
1–12
星期 0–6(0 = 星期日)

特殊字符

* 任意值——匹配该字段的所有可能值
, 值列表分隔符——例如 1,15 表示第 1 日和第 15 日
- 取值范围——例如 1-5 表示星期一到星期五
/ 步进值——例如 */15 表示每 15 个单位

为什么要使用 Cron 生成器?

  • 避免因语法错误而悄悄导致定时任务失效
  • 在部署调度计划之前查看通俗易懂的说明
  • 从常见示例开始,而不必从零编写
  • 获得可直接粘贴的 crontab 行,并可附带可选命令
  • 无需安装或注册账户

如何构建 Cron 表达式

  1. 设置分钟、小时、日、月和星期字段——或选择一个常见示例
  2. 可选择添加要运行的命令
  3. 查看通俗易懂的说明,确认调度计划正确
  4. 复制 crontab 行并粘贴到你的 crontab 文件中

Cron 最佳实践

优先选择特定的运行时间,而不是过于频繁的调度——如果每 5 或 15 分钟运行一次就足够,却每分钟运行一次,会浪费资源。

当一个任务同时依赖日和星期字段时,请注意大多数 cron 实现将这两个字段视为“或”关系,而不是“且”关系。

始终记录定时任务的输出(例如重定向到文件),以免失败情况被忽视。

常见使用场景

  • 自动化数据库备份
  • 日志轮转与清理任务
  • 定时生成报告
  • 缓存预热或缓存失效处理
  • 定期发送邮件摘要
  • 在系统之间同步数据
  • 健康检查与监控探测
  • 更新证书或令牌

常见问题

Cron 任务运行时使用哪个时区?

默认情况下,cron 使用系统的本地时区。有些平台允许按任务或按 crontab 单独设置特定时区——请查阅你所用系统的文档。

Cron 表达式可以包含秒字段吗?

标准的 Unix cron 只支持五个字段(从分钟开始),没有秒字段。一些调度器(例如 Quartz)支持可选的秒字段,但那是另一种格式。

如果同时设置了日和星期字段会怎样?

大多数 cron 实现只要满足其中一个条件即会运行任务(即“或”关系,而非“且”关系)。如果只想在特定日期且恰好落在特定星期时运行,通常需要在脚本本身中添加额外的逻辑判断。

在使用 cron 表达式之前如何测试它?

查看此处显示的通俗易懂的说明,确认它符合你的预期,然后在实际系统上用一个短期的测试调度进行验证,确认无误后再用于生产环境。

我应该使用 cron 还是 systemd 定时器?

Cron 简单且几乎随处可用,非常适合简单的周期性任务。systemd 定时器则提供更强的控制能力(依赖关系、日志记录、错过运行的处理),在已经使用 systemd 的系统上是不错的选择。

返回顶部