Час/числа

Cron Parser

Розбір cron-виразу (5 чи 6 полів, включно з @-скороченнями) — опис розкладу людською мовою та наступні запуски в обраному часовому поясі.


                    

Cron-вираз — компактний формат розкладу з п’яти чи шести полів (хвилина, година, день місяця, місяць, день тижня, іноді секунда), який складно читати з першого погляду. Інструмент перекладає вираз людською мовою й показує найближчі моменти запуску в обраному часовому поясі.

Як користуватися

Типові сценарії

Що варто памʼятати

Поля дня місяця й дня тижня в класичному cron об’єднуються через АБО, а не І, якщо жодне з них не «*» — часта причина несподіваних додаткових запусків.

Сервер, на якому виконується cron, може працювати в іншому часовому поясі, ніж очікує розробник — завжди перевіряйте, у якому поясі трактується розклад.

Стаття про цей інструмент: Cron-вирази: як розшифрувати розклад запуску завдань

Часті запитання

Чим 6-польовий cron-вираз відрізняється від 5-польового?

Стандартний cron використовує 5 полів (хвилина, година, день місяця, місяць, день тижня). Деякі планувальники додають шосте поле секунд на початку виразу — інструмент розпізнає обидва формати автоматично.

Що означають скорочення на кшталт @daily?

Це зручні синоніми поширених розкладів: @daily відповідає "0 0 * * *" (щодня опівночі), @hourly — "0 * * * *", @weekly, @monthly та @yearly діють аналогічно.

У якому часовому поясі рахуються наступні запуски?

У тому, який обрано в полі "Часовий пояс". Той самий cron-вираз дає різний абсолютний час запуску залежно від поясу, тому важливо вказати саме той, у якому фактично працює планувальник.

Чи впливає перехід на літній/зимовий час на запуск задачі?

Так, якщо час запуску потрапляє на неіснуючу чи повторювану годину під час переведення годинників. Для критичних задач надійніше планувати час поза типовим вікном переходу або явно використовувати UTC.

Чому вираз з обома вказаними полями дня місяця й дня тижня спрацював, хоча я очікував лише один збіг?

У класичному cron ці два поля об'єднуються через АБО, а не І, коли обидва не є зірочкою — задача запускається, щойно збігається хоча б одна з умов, навіть якщо друга не виконується.

Статті: Час/числа

Unix-час: чому комп'ютери рахують час від 1970 року

Чому саме 1 січня 1970 року стало точкою відліку часу для більшості комп'ютерних систем.

Системи числення: навіщо потрібні двійкова, вісімкова й шістнадцяткова

Чому колір #FF5733 у CSS записаний шістнадцятковими цифрами, а не десятковими.

Побітові операції: як AND, OR і XOR працюють на рівні бітів

Чим побітовий AND відрізняється від логічного, і навіщо взагалі оперувати окремими бітами числа.

Різниця між датами: чому підрахунок днів складніший, ніж здається

Чому наївне віднімання дат може дати неправильний результат через високосні роки.

Розрахунок віку: чому це не просте віднімання років

Чому просте віднімання років народження може дати вік на одиницю більший за реальний.

Часові пояси: чому UTC — це не те саме, що GMT

Чому UTC не змінюється двічі на рік, а час у Лондоні (GMT/BST) — змінюється.

Розрахунок тривалості: як правильно підсумовувати години, хвилини й секунди

Чому при додаванні хвилин і секунд потрібно "переносити" залишок у наступний розряд, як при десятковому додаванні.

ISO 8601 Duration: як записати тривалість у стандартному форматі

Чому запис PT1H30M означає «1 година 30 хвилин», а не «1 хвилина 30 годин».

Номер тижня: чому в різних країнах тижні рахують по-різному

Чому 1 січня іноді належить до 52-го чи 53-го тижня попереднього року за стандартом ISO 8601.

Римські цифри: як побудована система без нуля й розрядів

Чому IV означає 4, а не 6, і як правило віднімання працює в римських цифрах.

IEEE 754: чому 0.1 + 0.2 не дорівнює 0.3 у коді

Чому в майже кожній мові програмування 0.1 + 0.2 виводить 0.30000000000000004.

Число прописом: навіщо перетворювати цифри на слова

Чому в банківських документах суму пишуть і цифрами, і словами одночасно.