Cron-вирази виглядають як випадкові цифри та зірочки, але вони контролюють час виконання мільйонів запланованих завдань в інтернеті. Незалежно від того, чи налаштовуєте ви скрипт резервного копіювання, плануєте відправлення звітів електронною поштою або конфігуруєте конвейєр CI/CD, розуміння cron є необхідністю. Цей посібник спрощує все завдяки нашому безкоштовному Парсеру cron.
Що вам знадобиться
- Cron-вираз для розшифровки або розклад, який потрібно виразити у форматі cron
- Веб-браузер (Chrome, Firefox, Safari або Edge)
- Жодного облікового запису чи встановлення не потрібно
Покрокова інструкція
Введіть cron-вираз
Відкрийте інструмент Парсер cron. Введіть або вставте cron-вираз у поле введення. Наприклад, спробуйте 0 9 * * 1. Інструмент негайно розбирає його і показує, що він означає, зрозумілою мовою.
Прочитайте зрозумілий результат
Парсер перекладає вираз у чіткий опис. Для 0 9 * * 1 ви побачите щось на зразок «О 09:00 у понеділок». Інструмент також показує час наступних запланованих запусків, щоб ви могли перевірити, чи розклад робить те, що очікується.
Налаштуйте та експериментуйте
Змінюйте вираз і спостерігайте, як опис оновлюється в реальному часі. Замініть цифру, поміняйте зірочку на значення або додайте діапазон. Цей миттєвий зворотний зв'язок — найшвидший спосіб вивчити синтаксис cron і побудувати саме той розклад, який вам потрібен.
Корисно знати Cron-вирази зазвичай мають п'ять полів: хвилина, година, день місяця, місяць і день тижня. Деякі системи додають шосте поле для секунд, але п'ять полів є стандартом.
Розуміння п'яти полів
Cron-вираз складається з п'яти полів, розділених пробілами:
┌───────────── хвилина (0-59)
│ ┌───────────── година (0-23)
│ │ ┌───────────── день місяця (1-31)
│ │ │ ┌───────────── місяць (1-12)
│ │ │ │ ┌───────────── день тижня (0-7, де 0 і 7 — неділя)
│ │ │ │ │
* * * * *
Зірочка * означає «кожен». Число означає «рівно в цьому значенні». Це основа — все інше будується на ній.
Поширені шаблони cron
Ось шаблони, які ви будете використовувати найчастіше. Введіть будь-який із них у Парсер cron, щоб побачити пояснення та перевірку:
| Вираз | Значення |
|---|---|
* * * * * |
Щохвилини |
0 * * * * |
Щогодини (на нульовій хвилині) |
0 9 * * * |
Щодня о 9:00 |
0 9 * * 1 |
Щопонеділка о 9:00 |
0 9 * * 1-5 |
По буднях о 9:00 |
0 0 1 * * |
Перший день кожного місяця опівночі |
0 */6 * * * |
Кожні 6 годин |
30 8 * * 1,3,5 |
У понеділок, середу, п'ятницю о 8:30 |
0 0 * * 0 |
Кожної неділі опівночі |
*/15 * * * * |
Кожні 15 хвилин |
Порада Синтаксис кроку */n означає «кожні n інтервалів». Отже, */15 у полі хвилин означає кожні 15 хвилин (на 0, 15, 30 і 45 хвилинах кожної години). Синтаксис діапазону 1-5 у полі дня тижня означає від понеділка до п'ятниці.
Пояснення спеціальних символів
| Символ | Значення | Приклад |
|---|---|---|
* |
Кожне значення | * * * * * = щохвилини |
, |
Кілька значень | 0 9,17 * * * = о 9:00 і 17:00 |
- |
Діапазон значень | 0 9 * * 1-5 = будні дні |
/ |
Крок інтервалу | */10 * * * * = кожні 10 хвилин |
Створення власних виразів
Щоб створити cron-вираз з нуля, думайте про свій розклад як про відповіді на п'ять запитань:
- На якій хвилині? (0-59, або
*для кожної хвилини) - О якій годині? (0-23, або
*для кожної години) - В який день місяця? (1-31, або
*для кожного дня) - В якому місяці? (1-12, або
*для кожного місяця) - В який день тижня? (0-7, або
*для кожного дня)
Наприклад, «Кожного вівторка та четверга о 14:30» стає: хвилина=30, година=14, день=, місяць=, день тижня=2,4, що дає 30 14 * * 2,4.
Важливо Cron використовує 24-годинний формат часу. 9 ранку — це 9, але 9 вечора — це 21. Також зверніть увагу, що часові пояси залежать від сервера, на якому виконується завдання cron, а не від вашого місцевого часу. Завжди перевіряйте, який часовий пояс використовує ваша система.
Часті запитання
Що відбувається, якщо я вкажу і день місяця, і день тижня? У стандартному cron завдання виконується, коли виконується будь-яка з умов (це АБО, а не І). Це застає багатьох зненацька. Якщо вам потрібні обидві умови, використовуйте скрипт-обгортку, який перевіряє дату.
Чи можна запланувати щось кожні 2 години?
Так. Використовуйте 0 */2 * * *, що запускається на нульовій хвилині кожної другої години.
У чому різниця між cron із 5 та 6 полями? Деякі системи (наприклад, Spring, Quartz) додають поле секунд на початку. Стандартний Unix cron використовує п'ять полів. Парсер cron підтримує обидва формати.
Наступні кроки
Тепер, коли ви вмієте читати та писати cron-вирази, спробуйте побудувати розклади для ваших проектів. Якщо ви працюєте з іншими інструментами для розробників, ознайомтеся з нашим Тестером регулярних виразів для пошуку за шаблонами або Форматером JSON для роботи з конфігураційними файлами.