Cron expression explainer
Explain a Vixie crontab(5) five-field schedule. Not Quartz. Nothing is uploaded.
Docify's cron explainer reads a crontab(5) five-field expression (minute hour day-of-month month day-of-week) in your browser. The dialect is Vixie cron as documented for Debian cron 3.0pl1: *, lists, numeric ranges, steps after * or a-b, one three-letter month or weekday name, and the @yearly / @daily nicknames. If both day fields are restricted, Vixie ORs them. Explain is a button, not as-you-type. Not Quartz, not Jenkins, not a next-run calculator. Nothing is uploaded.
Expression
Explanation
How it works
- Explain is a button, not as-you-type. Load sample fills
30 4 1,15 * 5(the crontab(5) OR example) and does not run Explain. Copy writes the explanation. Nothing is uploaded. - A line is five whitespace-separated fields: minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–7; 0 and 7 are Sunday).
*is first–last. A list is comma-separated numbers or ranges. A range isa-bwitha ≤ b. A step is*/nora-b/nonly. Month and weekday accept one three-letter English name (jan…dec,sun…sat); lists or ranges of names are rejected. @yearly,@annually,@monthly,@weekly,@daily,@midnight, and@hourlyexpand to the Vixie nicknames before the same parse.@rebootis rejected (startup, not a schedule).- If both day fields are restricted (neither begins with
*), the days are OR-ed. If a day field begins with*, both must match (AND). Debian crontab(5) uses the first character, so*/2is star-like. Rejected: seconds or year fields, Quartz?/L/W/#, JenkinsH, cronie~, a username or command, month 0, and day-of-month 0. No next-run times.
FAQ
- Does this explainer upload anything?
- No. Explain and copy run in your browser. The page does not send the expression to a server.
- Which cron dialect is this?
- Vixie crontab(5) five-field schedule as shipped by Debian cron 3.0pl1 (Paul Vixie). Fields are minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7; 0 and 7 are Sunday). * means first–last. Lists and numeric ranges are allowed. Steps are only after * or a-b (*/15, 0-23/2). One three-letter English name is allowed for month or weekday (jan, sun); lists or ranges of names are not. @yearly, @annually, @monthly, @weekly, @daily, @midnight, and @hourly expand to the Vixie nicknames. Explain is a button, not as-you-type.
- How do day-of-month and day-of-week interact?
- If both day fields are restricted (neither begins with *), Vixie cron ORs them. Example: 30 4 1,15 * 5 runs at 04:30 on the 1st and 15th, and also at 04:30 every Friday. If a day field begins with * (Debian crontab(5) checks the first character, so */2 is star-like), both day fields must match (AND). 0 0 */2 * sun is midnight on Sundays that also fall on an odd day-of-month. This page does not compute the next fire time and has no timezone or DST table.
- Is this Quartz, Jenkins, or systemd?
- No. Six- or seven-field expressions (seconds / year), Quartz ? L W #, Jenkins H, cronie ~ randomization, @reboot (no schedule), a crontab username, and a command after the five fields are rejected. Month 0 and day-of-month 0 are rejected even though some crontab(5) tables list them — they do not match a calendar date here.
Related
- Guide: Vixie crontab vs Quartz (5-field vs 6/7)
- Sibling tools: Unix timestamp converter and Regex tester