Розробники · Crontab генератор
День місяця проти дня тижня в хроні: правила OR, що дивує всіх
· Як працює
Опубліковано ToolAcre · Редакція журналу
крон календар складання

Коли обидва дні поля обмежені, cron працює на роботу, якщо обидва матчі. Цей пост пояснює правило від crontab(5), чому він існує, і як отримати графіки, які він запобігає.
Звіт про рану 1 і в кожному понеділок — вираз 0 9 1 * 1 не означає, що він виглядає так
Висловлення таких як `0 9 1 * 1` як виглядає “09:00 на першому понеділок» якщо два денні стовпчики читаються як кумулятивні фільтри. ToolAcre не прочитайте його таким чином. З днем місяця встановлюється 1 і день тижня, встановленого в понеділок, арбітр попереджає, що або стан може відповідати, тому графік включає кожен перший і кожен понеділок.
Це не менша перевага слів. Щомісячний звіт може запустити чотири або п'ять додаткових разів, і операція очікувана тільки в понеділок може також працювати на першому місяці. Генератор розміщує попередження «Попередня перевірка» в описі, тому розширена поведінка помітна перед виразом скопіюється в зовнішній крокантаб.
Правило як письмове — якщо обмеження на день і день-від-від-перегляду, команда працює, коли обидва поля
Реалізація `dayMatches` функція ручає чотири випадки прямо. Два дикихкарти приймають кожен день; дикихкарткових щоденних деферів на тиждень; дикихкарток тиждень деферів на день місяця; і два обмежені поля повертаються логічно OR своїх матчів. Тести охоплюють дату, що відповідає тільки тирнадцятому, тільки п'ятниці і ні стану.
Описи зберігають однакове правило. `0 0 13 * 5` «на 13 місяці або в п'ятницю» не є неоднозначним Збірник, наступний вибір і англійська вихід, всі використовують однакову інтерпретацію. Ця спільна поведінка є більш міцними доказами, ніж ізольована етикетка допомоги, оскільки незгода між тими шляхами негайно створить в оману перегляд.
Парсер запроваджує АБО і визначає наслідок; не встановлює історії правила
У робочій книзі запропоновано історичну причину оформлення OR, але цей репозиторій доводить поведінку, а не провансування. Коментар коду визначаються правилом Віксі, а тести встановлюють результат ToolAcre. Вони не є документом, який вибрав правило, коли він був прийнятий або чому було бажано допустиме перевищення.
Зберігати, що обмежуються питаннями технічного письма. Читачі повинні точно знати, як цей інструмент розширює виразність; вони не потребують придуманих стандартів, які говорять використовувати його безпечно. У разі розгортання цільових документів на день семантика, його власний ручний відвертий перегляд браузера. ToolAcre Якщо ви не погоджуєтесь з тим, що ви погоджуєтесь.
Приклад роботи: об'єднання 0 9 1 * 1 за один місяць — дні, що він вогонь, у порівнянні з графіком, автор хотів би
Розглянемо місяць, який перший день не понеділок. `0 9 1 * 1` Виготовляємо один курс на перших і додаткових трасах в кожному понеділок. Якщо перший себе понеділок, то дата все ще з'являється один раз, тому що наступний пошук розглядає одну хвилину календаря, не два окремих тригери. Об’єднання змінює розмір з календарем, але не логічно.
Ви можете перевірити, що об'єднання, вибравши часову зону і читати наступні п'ять трас. Попередній перегляд починається строго після поточного миттєвого та пошуку календарних дат, застосування місяця, день та часових полів. Не обіцяє конкретний місяць в статті, що прозає через те, що в живому списку залежить від того, коли і де читач виконує перевірку.
AND-замовити першокласні командні роботи поза цим генератором графіків
У плані запропоновано вбудовування тесту дати оболонки для отримання AND поведінка. ToolAcre не може перевірити таку команду: вона приймає лише п'ять командних полів, а її копіювальну повну лінію містить статус учасника. Shell синтаксис, відсоток escaping, доступність команди і поведінка виходу все належать до навколишнього середовища, що в кінцевому підсумку працює робота.
У цьому генераторі безпечний дизайнерський рух - залишити на одному день поле як `*` якщо ОР-спілка є справжньою. Для першочергових вимог документ, що п'ять-польовий крон окремо не висловлює перетин у цьому діалекті. Виберіть і перевірити навколишнє середовище конкретним розчином окремо замість представлення невиконаного хіппе гарантовано.
Інші оператори графіків не розшифровуються цим п'яти-польовим процесором
Деякі граматики графіка викладають оператори, такі як `#`, `L`, `W` або `?`, але цей парсер не приймає їх. Він також відмовляється від шести полів і пояснює, що його контракт п'ять-польовий кроконтаб синтаксису. Таким чином, вираз, який працює в іншому продукті, не може бути написаний тут, як свідчить про те, що існує однакове правило календаря.
З метою виявлення початкових та цільових граматиок, не шляхом видалення пунктуації до досягнення валідації. ToolAcre може допомогти побудувати цілі п'ять простих полів, імен, діапазонів, списків і кроків. Не можна зберігати семантику, що здійснюється непідтриманим оператором, і статті, свідомо незважаючи на те, що вони реалізовані.
Команда есапінг – поза виразно граматикою
Відсоткові знаки і командні котирування з'являються після графіка і зовні `parseCron`. Парсер розбиває одну експресію на рівно п'ять білих просторово-роздільних частин; він ніколи не читає трубопроводи оболонки, часове командне навантаження або втечу команду. У зв'язку з тим, що ця стаття не вчить процентів, навіть якщо книгу запропонувала.
Що опущення – це правильне рішення. Програма графіка не повинна бути впевненою, що команда є безпечною, оскільки її налаштування термінів. Огляд командного синтаксису в фактичному виконанні і оболонці, з нешкідливими входами і спостережним виведенням. Зберігайте результат генератора, що охоплює правила календаря, демонстровано розуміється.
Відправка: обмежити поле одного дня, не як — і пояснення генератора робить OR видимим до збереження лінії
Коли в день поля обмежені, читати їх як союз і сказати «або» Як і раніше, перевірте попередження генератора та подальші заходи. Якщо ці дати перевищують встановлене, повертаємо одне поле `*` і вирішувати будь-яку більш спеціалізовану вимогу з механізмом, що задокументовано цільовим середовищем.
Урок сердечника не є загадковим, це те, що дві суміжні стовпчики не поєднуються як інші обмеження. ToolAcre централізує, що винятку в парсингу, описі та логіці попереднього перегляду. Використовуйте ці три види, щоб зловити невідповідність перед виразом залишає браузер і стає операційним графіком.