Розбір виразів cron
Поясніть будь-який розклад cron звичайною мовою разом із наступними запусками
Про цей інструмент
Вставте п’ятипольовий вираз cron і отримайте пояснення звичайною мовою, з розбором по полях і — та частина, що ловить справжні помилки — п’ять наступних фактичних моментів запуску, обчислених у вашому місцевому часовому поясі. «0 3 * * 1» читається як «О 03:00, у понеділок», а далі йдуть конкретні дати, коли це спрацює.
Парсер підтримує повний стандартний синтаксис: списки (1,15), діапазони (9-17), кроки (*/15), назви місяців і днів тижня (jan, mon), 7 як неділю та родину макросів @daily/@hourly. Він також реалізує правило, про яке всі забувають: коли обмежено і день місяця, і день тижня, завдання запускається, коли збігається будь-яке з них, а не обидва.
Вирази з шести полів (Quartz, із секундами) розпізнаються й позначаються явно, а не розбираються хибно мовчки — це найпоширеніше джерело плутанини «мій cron неправильний» під час переходів між планувальниками Java та юніксовим crontab.
Часті запитання
- Які п’ять полів і в якому порядку?
- Хвилина (0–59), година (0–23), день місяця (1–31), місяць (1–12), день тижня (0–6, неділя = 0, причому 7 теж приймається як неділя). Запам’ятати порядок — вічна боротьба; панель розбору підписує кожне поле вашого виразу.
- Чому «0 0 1 * 1» запускається частіше, ніж я очікував?
- Бо обмежено і день місяця (1-ше), і день тижня (понеділок), а cron запускає завдання, коли збігається БУДЬ-ЯКЕ з них — кожного 1-го числа І кожного понеділка. Щоб мати на увазі «1-ше, лише коли це понеділок», доведеться перевіряти дату у власному скрипті.
- У якому часовому поясі показані наступні запуски?
- У місцевому поясі вашого браузера, який показано поруч із результатами. Справжні crontab працюють у поясі сервера (або за рядком TZ= у деяких cron) — завжди перевіряйте, що використовує цільова машина, надто під час переходів на літній час.
- Чи підтримуються секунди або роки?
- Ні — це розширення Quartz (Java) із 6 або 7 полями. Стандартний юніксовий cron має рівно п’ять полів і роздільність в одну хвилину. Введення з шести полів розпізнається й повідомляється як Quartz, а не читається хибно.