Розуміння виразів cron: пишіть розклади як розробник
Вирази Cron контролюють виконання автоматизованих завдань на серверах, хмарних платформах та інструментах планування, але більшість розробників вдаються до копіювання прикладів і сподіваються, що вони спрацюють. Розуміння синтаксису cron означає, що ви можете впевнено писати будь-який розклад з нуля, швидше налагоджувати невдалі завдання та уникати дорогих помилок, таких як резервне копіювання, яке ніколи не запускається.
Що таке вирази cron і чому вони важливі
Вираз cron — це компактний рядок із п’яти або шести полів, які повідомляють системі, коли саме потрібно виконати завдання. Це стандартний формат на серверах Unix, Linux, GitHub Actions, AWS EventBridge, Kubernetes і платформах CI/CD у всьому світі. Замість того, щоб писати прозу на зразок «виконуйте це щовівторка о 2 годині ночі», ви пишете 0 2 * * 2, а демон cron миттєво інтерпретує його. Вивчення цієї нотації, яка залишалася практично незмінною протягом десятиліть, є одноразовою інвестицією, яка окупається кожного разу, коли ви щось плануєте.
П'ять полів і їх діапазони
Стандартний cron використовує п'ять обов'язкових полів, розділених пробілами. Прочитайте їх зліва направо як хвилину, годину, день місяця, місяць і день тижня:
Minute(0–59) — яку хвилину години бігтиHour(0–23) — яка година доби (24-годинний формат)Day of month(1–31) — який календарний деньMonth(1–12) — який місяць рокуDay of week(0–7) — який день тижня, де і 0, і 7 означають неділю
Кожне поле приймає певне значення, наприклад діапазон 1-5, список як 1,3,5або символ підстановки * означає "кожне значення в цьому полі". Оператор косої риски розділяє діапазони: */15 у полі хвилин означає кожні 15 хвилин.
Загальні шаблони ви напишете
Більшість реальних розкладів повторюються лише кількома способами. У будні вранці о 9 ранку 0 9 * * 1-5. Кожна година є 0 * * * *. Перший день місяця опівночі: 0 0 1 * *. Кожні 15 хвилин протягом дня: */15 * * * *. Один раз на день у неділю о 2:30: 30 2 * * 0. Якщо ви не впевнені, чи правильний ваш вислів, вставте його в a аналізатор cron щоб переглянути наступні п’ять запланованих запусків і переконатися, що він відповідає вашим намірам перед розгортанням.
Створіть власний вираз cron
Почніть англійською, потім перекладіть на cron. Ви хочете "9:30 ранку кожного буднього дня"? Це 30 хвилин, 9 годин, будь-який день місяця, будь-який місяць, з понеділка по п’ятницю. Стають поля 30 9 * * 1-5. Для «двічі на день о 7:00 та 18:00»: 0 7,18 * * * (кома розділяє години). Опівдні 15 числа кожного місяця: 0 12 15 * *. Щойно ви пишете будь-який вираз, завжди перевіряйте його за допомогою синтаксичного аналізатора, щоб виявити помилки перед розгортанням.
Обробляйте часові пояси та перевіряйте точний час
Вирази Cron пов’язані з сервером — вони виконуються в часовому поясі системи, а не у вашому локальному часовому поясі. Щоб перевірити мітку часу Unix або побачити, який місцевий час запускає ваш cron у вашій зоні, скористайтеся конвертер часових позначок, який працює у вашому браузері та миттєво обробляє перетворення часових поясів, нікуди не надсилаючи дані.
Перетворіть свій розклад на подію календаря
Отримавши надійний вираз cron, поділіться ним або додайте до свого календаря, щоб бачити, коли виконується завдання. The Генератор ICS перетворює дату початку та правило повторення у файл календаря, який імпортується в Apple Calendar, Google Calendar, Outlook або будь-яку стандартну програму календаря. Як варіант, створіть прямий Посилання на календар Google який відкриває подію, попередньо заповнену в календарі Google, одним клацанням миші — без завантажень і керування файлами.
Ваші розклади cron залишаються приватними
Усі згадані тут інструменти працюють у вашому браузері; нічого не завантажується на сервер. Аналіз Cron, перетворення позначок часу, генерація календаря та створення посилань — усе це відбувається на вашому пристрої. Ні облікового запису, ні відстеження, а інструменти працюють в автономному режимі після завантаження. Ваші розклади та деталі автоматизації залишаються тільки вашими.