Croninfo is a CLI which provides the functionality of parsing cron expressions and rendering an output to ease with understanding the schedule of the cron expression.
The Cron syntax supported is based on the definition provided by FreeBSD.
Python 3.7 to 3.10 supported
To get started, install with pip:
$ python -m pip install croninfo
To CLI is provided with one command parse
as can be seen below.
If any doubts you can run croninfo --help
or croninfo <command> --help
for further details.
$ croninfo parse "10 0 1,15 * 1-3 /usr/bin/find"
╭─ Cron Expression ──────────────────────────────────────────────────────────────────────────────╮
│ Minute 10 │
│ Hour 0 │
│ Day of Month 1 15 │
│ Month 1 2 3 4 5 6 7 8 9 10 11 12 │
│ Day of Week 1 2 3 │
│ TZ UTC │
│ Command /usr/bin/find │
│ Next Scheduled Run 2022-08-15T00:10:00+00:00 (in 10 days, 2 hours, 3 minutes and 25 seconds) │
╰─ 10 0 1,15 * 1-3 /usr/bin/find ────────────────────────────────────────────────────────────────╯
This will output with consideration to UTC by default but you can pass
--tz-type local
to override to be your local timezone, E.G. Europe/London
.
As shown below:
$ croninfo parse "10 0 1,15 * 1-3 /usr/bin/find" --tz-type local
╭─ Cron Expression ──────────────────────────────────────────────────────────────────────────────╮
│ Minute 10 │
│ Hour 0 │
│ Day of Month 1 15 │
│ Month 1 2 3 4 5 6 7 8 9 10 11 12 │
│ Day of Week 1 2 3 │
│ TZ Europe/London │
│ Command /usr/bin/find │
│ Next Scheduled Run 2022-08-15T00:10:00+01:00 (in 10 days, 1 hour, 2 minutes and 25 seconds) │
╰─ 10 0 1,15 * 1-3 /usr/bin/find ────────────────────────────────────────────────────────────────╯
Alternatively, you can use the Official Croninfo Docker Image