Парсер за изрази на Cron
Анализирайте cron изразите и вижте обяснение в човешки вид за това кога се изпълняват. Идеален за разработчици и системни администратори, които трябва да създават или разбират графиците на задачите cron. Избягвайте грешки при планирането, като визуализирате кога точно ще се изпълняват вашите cron изрази.
Често задавани въпроси
Изразът cron е низ от 5 или 6 полета, който определя график за автоматизирани задачи в Unix-подобни системи. Полетата представляват: минута (0-59), час (0-23), ден от месеца (1-31), месец (1-12) и ден от седмицата (0-7, където 0 и 7 са неделя). Например "0 9 * * 1" означава "пускане в 9:00 часа всеки понеделник".
Започнете с пет звездички (* * * * *), представляващи минута, час, ден, месец, ден от седмицата. Заменете звездичките с конкретни стойности или диапазони. Например: "30 14 * * *" се изпълнява в 14:30 ч. всеки ден, "0 0 1 * *" се изпълнява в полунощ на 1-во число на всеки месец, "*/15 * * * * *" се изпълнява на всеки 15 минути. Използвайте нашия анализатор, за да проверите дали вашият израз прави това, което очаквате.
Звездичка означава "всеки" или "всяко" за тази времева единица. Например * в полето за час означава всеки час, а * в полето за ден означава всеки ден. Така че "0 * * * *" означава "в минута 0 на всеки час" (почасово), докато "* * * * *" означава "всяка минута". Това е заместител, който отговаря на всички възможни стойности за това поле.
Използвайте синтаксиса за стойност на стъпка: */N. На всеки 5 минути: '*/5 * * * *'. На всеки 3 часа: '0 */3 * * *'. Синтаксисът */N означава "всяка N-та стойност" - така че */5 в полето за минути означава минути 0, 5, 10, 15 и т.н. Можете също така да използвате диапазони със стъпки като "0-30/5" за всеки 5 минути през първия половин час.
Да! Използвайте 1-5 в полето за ден от седмицата (петото поле). Например, "0 9 * * 1-5" се изпълнява в 9 часа сутринта от понеделник до петък. Понеделник е 1, а петък е 5. Можете също така да изброите конкретни дни: "0 9 * * 1,3,5" се изпълнява в 9 часа сутринта само в понеделник, сряда и петък.
Това са два различни начина за определяне на дните, в които се изпълнява дадена задача. Денят от месеца (3-то поле) използва дати 1-31, докато денят от седмицата (5-то поле) използва 0-7 (0 и 7 са неделя). Ако са зададени и двете (не *), задачата се изпълнява, когато съвпадне И ДВЕТЕ условия. Например, "0 0 1 * 1" се изпълнява в полунощ на 1-во число на всеки месец И всеки понеделник.
За делнични дни от 9:00 до 17:00 часа: "0 9-17 * * 1-5" се изпълнява в началото на всеки час. На всеки 30 минути в работно време: '*/30 9-17 * * 1-5'. Часовият диапазон 9-17 обхваща времето от 9:00 до 17:00 часа, а 1-5 ограничава изпълнението до времето от понеделник до петък.
Те са равностойни - и двете се изпълняват ежедневно в полунощ. Много реализации на cron поддържат специални низове като @daily, @hourly, @weekly, @monthly и @yearly като съкращения. Те са по-четивни, но по-малко гъвкави от пълните изрази. Използвайте съкращения за обичайните интервали и пълни изрази за персонализираните графици.
Стандартните cron изрази се изпълняват на базата на системното време на сървъра. За да се справите с часовите зони, задайте правилно часовата зона на сървъра или изчислете часовата разлика. Някои усъвършенствани реализации на cron поддържат спецификации за времева зона, но основният формат с 5 полета не включва информация за времевата зона.
Използвайте нашия анализатор на изрази на Cron, за да проверите дали вашият израз показва очакваното описание на графика. Парсерът обяснява на разбираем английски език кога ще се изпълни задачата ви, като ви помага да уловите грешки като "0 9 31 2 *" (31 февруари не съществува), преди да я разгърнете в производството.
