Генератор выражений Cron

Визуальное создание и парсинг выражений Cron для планирования задач

Cron 表达式
* * * ? * *
每秒钟执行
常用
字段设置
秒 (0-59)
分 (0-59)
时 (0-23)
日 (1-31)
月 (1-12)
周 (0-6)
最近 5 次执行时间
12026-05-04 21:53:00
22026-05-04 21:54:00
32026-05-04 21:55:00
42026-05-04 21:56:00
52026-05-04 21:57:00

Что такое выражение Cron?

Выражение Cron — это строка для настройки запланированных задач, состоящая из 6 или 7 полей, представляющих секунды, минуты, часы, дни, месяцы, дни недели и годы (опционально). Каждое поле использует специальные символы для определения временных правил. Широко используется в Linux-системах и различных фреймворках планирования задач.

Описание синтаксиса

  • * 所有值
  • ? 不指定值(日/周)
  • - 范围,如 1-5
  • , 列举,如 1,3,5
  • / 间隔,如 0/15 每15单位
  • L 最后,如月的最后一天
  • W 工作日
  • # 第N个,如 2#3 第3个周二

Частые примеры

  • 0 0 12 * * ? 每天中午12点
  • 0 15 10 ? * * 每天上午10:15
  • 0 0/5 14 * * ? 每天14点每5分钟
  • 0 0 12 ? * WED 每周三中午12点
  • 0 0 12 1 * ? 每月1号中午12点
  • 0 15 10 15 * ? 每月15号上午10:15

Часто задаваемые вопросы

В чём разница между ? и * в выражении Cron?

* означает «все возможные значения», ? означает «не указано». Поля дня и дня недели взаимоисключающие: когда указано конкретное значение дня, поле дня недели должно использовать ?, и наоборот.

Как указать «выполнять каждые N единиц»?

Используйте слеш (/) для указания шага. Например: */5 * * * * ? означает выполнение каждые 5 минут; 0 */2 * * * ? означает выполнение каждые 2 часа.

Какой часовой пояс используется в выражении Cron?

Выражение Cron само по себе не содержит информации о часовом поясе, фактическое время выполнения зависит от системного часового пояса. Рекомендуется установить единый часовой пояс на сервере для избежания смещения времени.

В чём разница между 5-значными и 6/7-значными выражениями Cron?

Традиционный Linux Cron использует 5 полей (минуты часы дни месяцы дни_недели), тогда как Quartz и другие фреймворки используют 6 полей (добавлены секунды) или 7 полей (добавлены годы). Этот инструмент поддерживает 6-7-значный формат.

Как указать «последний рабочий день месяца»?

Можно использовать LW для указания последнего рабочего дня месяца, например: 0 0 0 LW * ? означает выполнение в полночь последнего рабочего дня каждого месяца.