В зависимости от того, насколько вам это нужно, и от того, насколько вы готовы закатать рукава, вы можете определить для этого простую грамматику.
Каждый будет квантификатором. Возможно, вам нужны другие, но я не могу думать ни о ком. Допустимый синтаксис может быть:
Каждый (день) AT (время)
Где day-spec может быть буквальным днем (т. Е. понедельник ) или днем месяца (т. Е. 30-й день ) или некоторым другой синтаксис (я бы посоветовал фортнайты, но я не уверен, что Крон может хорошо их представить).
Время можно указать в формате 24 часа ( 16: 00 ) или 12 часов ( 4: 00 pm).
Другой синтаксис, который вам может понадобиться:
Каждое (частота) С (время ), где частота в основном (количество) (единица измерения) ) (т.е. 10 минут ). Время от позволяет установить смещение (например, Каждые 30 минут с 01:10 утра ).
Вам, вероятно, нужно сесть и выяснить эти детали немного подробнее. Но жесткую грамматику можно реализовать относительно легко, используя рекурсивный спуск .