Cron表达式生成器 在线生成定时任务工具
在线Cron表达式生成器,可视化生成标准5字段Linux crontab定时任务,内置常用预设,附带解析说明和下次执行时间预览。
更新于 2026-08-16
相关工具
功能特性
- 可视化 Cron 表达式构建器,为每个字段(分钟、小时、日期、月份、星期)提供直观的下拉选择器
- 常用定时预设:每分钟、每小时、每天、每周、每月、工作时间
- 实时人类可读描述翻译 - 将 * * * * * 即时转换为「每分钟」
- 下次执行时间预览,显示本地时区的精确日期和时间
- 双向编辑 - 直接修改表达式或使用可视化构建器,更改双向同步
- 内置验证,为无效的 Cron 语法提供清晰的错误提示
- 支持标准 5 字段 Linux crontab 格式(分钟 小时 日期 月份 星期)
- 一键复制生成的表达式到剪贴板
使用方法
- 1从顶部预设行选择一个快捷选项(每分钟、每小时、每天等)或手动配置每个字段。
- 2手动配置时使用下拉框:分钟 (0-59)、小时 (0-23)、日期 (1-31)、月份 (1-12)、星期 (0-6)。
- 3使用 * 表示「每个值」,*/n 表示间隔(如 */15 = 每15分钟),逗号表示列表(如 1,15)。
- 4阅读表达式下方的人类可读描述,验证您的定时设置是否正确。
- 5查看「下次执行」部分,了解任务下次运行的时间。
- 6点击复制按钮将表达式复制到剪贴板,用于 crontab 或应用程序中。
- 7使用「下次执行」区域预览 Cron 任务的确切执行时间,显示本地时区的实际日期和时间,帮助您在部署到生产环境前验证表达式。
- 8切换不同预设来学习常见 Cron 模式的用法。每个预设自动填充所有字段并显示对应的下次执行时间,帮助您理解表达式与实际调度之间的关系。
常见问题
什么是 Cron 表达式?
Cron 表达式是由5个字段组成的字符串,用空格分隔,定义定时任务的执行时间。字段依次为:分钟 (0-59)、小时 (0-23)、日期 (1-31)、月份 (1-12)、星期 (0-6,0表示周日)。例如 '0 9 * * 1' 表示「每周一上午9点」。
* 和 */n 有什么区别?
星号 (*) 表示该字段的「每个可能值」。*/n 表示「每第n个值」。例如,分钟字段的 * 表示每分钟,而 */15 表示每15分钟(在0、15、30、45分执行)。同理,小时字段的 */2 表示每2小时执行一次。
如何设置仅在工作时间执行?
使用 '0 9-17 * * 1-5' 表示工作日上午9点到下午5点。'9-17' 指定9点到17点(下午5点),'1-5' 指定周一(1)到周五(5)。如需特定时间如上午9点和下午3点,使用逗号:'0 9,15 * * 1-5'。
为什么我的 Cron 表达式显示错误?
常见错误包括:值超出范围(如分钟 > 59)、无效字符或缺少字段。每个字段有特定的有效范围:分钟 (0-59)、小时 (0-23)、日期 (1-31)、月份 (1-12)、星期 (0-6)。工具会实时验证表达式并显示清晰的错误信息。
这个工具适用于 AWS EventBridge 或 Quartz 调度器吗?
本工具生成标准 5 字段 Linux crontab 表达式。AWS EventBridge 使用 6 字段格式,在开头多了一个「秒」字段。Quartz 调度器支持扩展语法如 L(最后)、W(工作日)、#(第几个)等,标准 Cron 不支持这些。对于这些系统,您可能需要调整生成的表达式。
如何在 Linux 上设置 Cron 任务?
使用 'crontab -e' 命令编辑您的 Cron 任务。添加一行,包含您的表达式和要运行的命令,如:'0 3 * * * /path/to/backup.sh'。保存并退出 - Cron 会自动生效。使用 'crontab -l' 查看当前任务列表。
如何设置每周日凌晨 2:30 执行备份?
使用 '30 2 * * 0'。'30' 表示分钟,'2' 表示小时(凌晨2点),第一个 '*' 表示每月任意日期,第二个 '*' 表示任意月份,'0' 表示周日(0=周日,6=周六)。此表达式每周日凌晨 2:30 可靠触发备份,不影响工作日运行。
Cron 和 systemd 定时器有什么区别?
Cron 是传统的 Linux 任务调度器,使用 crontab 文件和 5 字段表达式。Systemd 定时器是更现代的替代方案,支持持久定时器(启动后补运行失败任务)、基于日历的调度、随机延迟和更好的日志记录。Systemd 定时器使用不同的语法(OnCalendar=)。本工具生成标准 Cron 格式,而非 systemd 定时器语法。
可以设置在每月最后一天执行的任务吗?
标准 Cron 不直接支持「每月最后一天」。常用变通方案是设置 '0 6 28-31 * *',在脚本中添加日期检查,确认今天是当月最后一天后才执行。某些 Cron 实现支持在日期字段使用 L,但这并非标准。精确的最后一天调度建议使用脚本级别的日期判断。
Cron 的常见使用场景有哪些?
常见 Cron 使用场景包括:系统维护(半夜日志轮转)、数据库备份(每天凌晨3点)、报表生成(每周一早上)、邮件通知(每天上午10点)、缓存清理(每6小时)、监控检查(每5分钟)、数据同步(每小时)和证书续期(每月)。建议选择在非高峰时段执行的调度方案。
为什么我的 Cron 任务不执行?
最常见的原因:Cron 守护进程未运行(用 service cron status 或 systemctl status cron 检查)、脚本路径不是绝对路径或缺少执行权限、服务器时区与预期不一致:crontab 使用服务器本地时间,容器环境通常默认 UTC。先用本在线 Cron 生成器的「下次执行」预览核对表达式,再手动运行一次命令,确认无误后再加入 crontab。
为什么带秒的 Cron 表达式在 Linux 里会失败?
Linux crontab 只接受 5 个字段(分钟、小时、日期、月份、星期),带秒的 6 字段表达式会被拒绝并提示 bad minute 之类的错误。秒级精度只有 Quartz、AWS EventBridge 等扩展语法支持。如果需要秒级调度,请使用支持带秒格式并面向 Quartz 的生成器;本工具输出标准 5 字段表达式,专为 Linux crontab 设计。