# 0 0 1 1,4,7,10 * Cron Meaning & Next Runs

> "0 0 1 1,4,7,10 *" means At 00:00, on day-of-month 01; in January; in Apri…. See the field-by-field breakdown, the OR-rule gotcha and the next run times in UTC.

- Page URL: https://itinsighthub.com/cron-generator/?q=0+0+1+1%2C4%2C7%2C10+*
- Markdown variant of this page: append `?format=md` to any URL on this site or send `Accept: text/markdown`.
- Full site index for AI assistants: https://itinsighthub.com/llms.txt
- Full site export: https://itinsighthub.com/llms-full.txt

# Cron Expression Generator & Explainer

A cron expression is five space-separated fields — minute, hour, day-of-month, month, day-of-week — that together define when a scheduled command runs. Paste any expression below and this tool validates it, explains each field in plain English and lists the exact next run times.

## Preset schedules

[Every minute* * * * *](https://itinsighthub.com/cron-generator/?q=*+*+*+*+*) [Every 5 minutes*/5 * * * *](https://itinsighthub.com/cron-generator/?q=*%2F5+*+*+*+*) [Every 10 minutes*/10 * * * *](https://itinsighthub.com/cron-generator/?q=*%2F10+*+*+*+*) [Every 15 minutes*/15 * * * *](https://itinsighthub.com/cron-generator/?q=*%2F15+*+*+*+*) [Every 30 minutes*/30 * * * *](https://itinsighthub.com/cron-generator/?q=*%2F30+*+*+*+*) [Hourly (at :00)0 * * * *](https://itinsighthub.com/cron-generator/?q=0+*+*+*+*) [Every 4 hours0 */4 * * *](https://itinsighthub.com/cron-generator/?q=0+*%2F4+*+*+*) [Daily at 02:000 2 * * *](https://itinsighthub.com/cron-generator/?q=0+2+*+*+*) [Weekdays at 08:000 8 * * 1-5](https://itinsighthub.com/cron-generator/?q=0+8+*+*+1-5) [Weekly (Sun 03:30)30 3 * * 0](https://itinsighthub.com/cron-generator/?q=30+3+*+*+0) [Monthly (1st, 00:00)0 0 1 * *](https://itinsighthub.com/cron-generator/?q=0+0+1+*+*) [Quarterly (1st Jan/Apr/Jul/Oct)0 0 1 1,4,7,10 *](https://itinsighthub.com/cron-generator/?q=0+0+1+1%2C4%2C7%2C10+*) [Yearly (Jan 1, 00:00)0 0 1 1 *](https://itinsighthub.com/cron-generator/?q=0+0+1+1+*) [Sundays at 17:000 17 * * 0](https://itinsighthub.com/cron-generator/?q=0+17+*+*+0) [Twice daily (06:00 & 18:00)0 6,18 * * *](https://itinsighthub.com/cron-generator/?q=0+6%2C18+*+*+*) [Nightly backup (23:45)45 23 * * *](https://itinsighthub.com/cron-generator/?q=45+23+*+*+*)

## Reverse helper: pick a schedule, get the expression

## Explanation

At 00:00, on day-of-month 01; in January; in April; in July; in October.

*Field-by-field explanation*

| Field | Value | Meaning |
| --- | --- | --- |
| Minutes | 0 | at minute 00 |
| Hours | 0 | during hour 00 |
| Day of month | 1 | on day-of-month 01 |
| Month | 1,4,7,10 | in January; in April; in July; in October |
| Day of week | * | every day of the week |

Cron expression

```
0 0 1 1,4,7,10 *
```

### Next 5 runs

Computed server-side in **UTC** at request time. With JavaScript enabled the list below refreshes instantly in **your local timezone**.

*Next 5 scheduled runs, UTC*

| # | Scheduled time |
| --- | --- |
| 1 | Friday 2027-01-01 00:00:00 UTC |
| 2 | Thursday 2027-04-01 00:00:00 UTC |
| 3 | Thursday 2027-07-01 00:00:00 UTC |
| 4 | Friday 2027-10-01 00:00:00 UTC |
| 5 | Saturday 2028-01-01 00:00:00 UTC |

## How crontab scheduling works

The cron daemon wakes once per minute and asks, for each line in the crontab: do the current minute, hour, day, month and weekday all satisfy this line's fields? Each field may contain:

*Cron field syntax reference*

| Syntax | Meaning | Example |
| --- | --- | --- |
| * | any value | * |
| , | list of values | 0,15,30,45 |
| - | inclusive range | MON-FRI |
| / | step values over a range (or the whole field) | */10, 8-18/2 |
| JAN–DEC, SUN–SAT | names instead of numbers (case-insensitive) | 0 9 * JAN-MAR MON |

### The day-of-month / day-of-week trap (read this twice)

If **both** restricted fields are set — neither being `*` — cron runs the command when **either** matches, not both. The classic surprise: `0 0 13 * 5` fires on *the 13th of every month AND every Friday*, not "Friday the 13th". To express an intersection, add a guard inside the script itself (`[ "$(date +%u)" = 5 ] || exit 0`). This tool labels the OR rule directly in the explanation whenever your expression triggers it.

### Timezones and the seconds myth

- cron evaluates in the daemon's local timezone — usually the system zone, configurable via `TZ` or `CRON_TZ` on modern Vixie implementations. Servers default to UTC far more often than admins expect.
- Classic cron has **no seconds field**. Five fields only. Quartz/Spring-style schedulers accept six. This parser auto-detects a leading seconds field and warns you about portability.
- DST is honored against wall-clock time: during spring-forward hours that don't exist, jobs are skipped; fall-back repeats can double-run them.

Scheduling around log timestamps? Cross-check epoch values with the [Unix timestamp converter](https://itinsighthub.com/timestamp-converter/), lock down the credentials those jobs use with the [password generator](https://itinsighthub.com/password-generator/), and give each automation a unique ID from the [UUID v4 generator](https://itinsighthub.com/uuid-generator/) so log lines stay greppable. Port-level firewall questions belong in the [common ports reference](https://itinsighthub.com/common-ports/).

## Frequently asked questions

**What does */5 mean in a cron expression?**

It means 'every fifth value of this field starting at its minimum'. In the minute field, */5 expands to minutes 0, 15... precisely 0, 5, 10 ... 55 — so the command runs every five minutes, aligned to the clock rather than to when the daemon started.

**Why does my cron job run on both the 1st and every Monday?**

Because day-of-month and day-of-week are OR-ed whenever both are restricted. 0 0 1 * 1 runs at midnight on the 1st AND every Monday. Standard cron cannot express 'first Monday' directly; guard it in the shell or test [ $(date +\%d) -le 7 ] inside the job.

**What timezone does cron use?**

The daemon's local timezone by default — on most cloud servers that is UTC unless configured otherwise. Modern Vixie cron and systemd timers support per-job zones (CRON_TZ=Europe/Berlin prefix or TimeZone= in the timer unit), which beats converting times by hand.

**Does cron support seconds?**

No. Classic POSIX/Vixie crontab granularity is one minute with exactly five fields. Six-field expressions with leading seconds come from Quartz, Spring and various language libraries. This generator detects the extra field so you can see what such schedulers will do, and warns you that plain crontab files cannot use it.

**How do I write 'every 5 minutes' in crontab?**

*/5 * * * *. The asterisk with a step covers the whole minute field: minutes 0, 5, 10 through 55. Variants like 5/5 (starting at minute 5) also work here and on most modern crons, but stick to */5 for maximum portability.

**What is the difference between cron and crontab?**

cron is the daemon that executes scheduled commands; crontab is the file (and its editing command) where per-user schedules live. A crontab line is five time fields followed by the command: 30 4 * * 1-5 /usr/local/bin/report.sh runs the report at 04:30 on weekdays.

---

© 2026 ITInsightHub · [About](https://itinsighthub.com/about/) · [Contact](https://itinsighthub.com/contact/) · [Privacy](https://itinsighthub.com/privacy/)
