Генератор Cron-выражений Spring @Scheduled
На этой странице описан синтаксис cron, используемый в Spring @Scheduled: структура полей, нумерация дней недели и поддерживаемые специальные символы.
Краткий справочник
Количество полей
6
Поле секунд
Да
Поле года
Нет
Часовой пояс
Локально / настраивается
Спецсимволы (L / #)
Да
Требуется "?"
Нет
Нумерация дней недели
Sun=0, Mon=1, Tue=2, Wed=3, Thu=4, Fri=5, Sat=6
Частые Cron-выражения для Spring @Scheduled
| Каждые 5 минут | 0 */5 * * * * |
| Каждые 15 минут | 0 */15 * * * * |
| Каждый час | 0 0 * * * * |
| Каждый день в полночь | 0 0 0 * * * |
| Каждый день в 9:00 | 0 0 9 * * * |
| Каждый будний день в 9:00 | 0 0 9 * * MON-FRI |
| Каждый понедельник в 9:00 | 0 0 9 * * MON |
| Дважды в день (0:00 и 12:00) | 0 0 */12 * * * |
| В первый день каждого месяца | 0 0 0 1 * * |
| В последний день каждого месяца | 0 0 23 L * * |
Часто задаваемые вопросы
Чем Spring @Scheduled отличается от стандартного Linux cron?
Spring @Scheduled отличается от Linux cron количеством полей, нумерацией дней недели или поддерживаемыми спецсимволами — точные отличия смотрите в таблице краткого справочника выше.
Можно ли автоматически конвертировать выражение Linux cron в формат Spring @Scheduled?
Да — вставьте его в мультиплатформенный инструмент Cron выше (или на главной странице редактора Cron) и переключитесь на вкладку Spring @Scheduled, чтобы мгновенно получить эквивалентное выражение.
Поддерживает ли Spring @Scheduled L, W или #?
Да. Spring @Scheduled поддерживает L (последний день месяца) и # (n-й день недели месяца, например "MON#1" для первого понедельника).
Spring @Scheduled выполняется по моему местному часовому поясу или по UTC?
Spring @Scheduled вычисляет расписание в настроенном вами часовом поясе (или в часовом поясе системы/сервера, если ничего не настроено) — он не привязан к UTC.