Arcane, seriously? What kind of syntax would be modern and clear in your opinion? YAML? JSON? XML probably, with a nice 150-page XTBJSPCOSDF (Extensible Time-Based Job Scheduling for POSIX-Compatible Operating Systems Description Framework) spec? ;)
Personally, I think this is pretty straightforward:
Agreed that it's not impressive, beings that the explanation is simply wrong. It's an edge case I'm definitely not handling properly. I've got [an open issue](https://github.com/pbyrne/cron-checker/issues/7) about combining ranges and modulo, but haven't gotten around to implementing it yet. Displaying an incorrect explanation is probably worse than no explanation, though, in retrospect.
The challenge is to decide what you would want it to say in the case of, say, "14-59/15". Do you want it to list all the possibilities? That becomes tedious if you have something like 2-57/2. Do you want to try to create a more direct plain English parse?
14-59/15 - Every 15th minute starting with the 14th
up to and including the 59th.
2-57/2 - Every 2nd minutes starting with the 2nd
up to and including the 56th.
A choice needs to be made - the direct plain English parse is quite long, and not always easy to read.
Hi there. Popping in to clarify that the (excellent) folks behind Dead Man's Snitch are advertising on the site, but that otherwise I'm not affiliated with them and they haven't contributed to the project beyond the ad.
That said, it's a pretty great product and you should check them out!
cron(8) examines cron entries once every minute.
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
A field may be an asterisk (*), which always stands
for "first-last".
Ranges of numbers are allowed. Ranges are two
numbers separated with a hyphen. The specified
range is inclusive.
For example, 8-11 for an "hours" entry specifies
execution at hours 8, 9, 10 and 11.
Lists are allowed. A list is a set of numbers (or
ranges) separated by commas. Examples: "1,2,5,9",
"0-4,8-12".
In some uses of the CRON format there is also a seconds field at the beginning of the pattern. In that case, the CRON expression is a string comprising 6 or 7 fields.
For visualizing a large quantity of crons, I'd recommend something akin to https://github.com/federatedmedia/cronviz which will graphically show when jobs are scheduled to run.
is not a very good example. It will launch a shell which will change to the specified directory and then terminate. (It might produce an error message if the directory doesn't exist.)
Arcane, seriously? What kind of syntax would be modern and clear in your opinion? YAML? JSON? XML probably, with a nice 150-page XTBJSPCOSDF (Extensible Time-Based Job Scheduling for POSIX-Compatible Operating Systems Description Framework) spec? ;)
Personally, I think this is pretty straightforward: