Developer

Cron Expression Cheat Sheet — Copy-Paste Schedule Examples

ToolOrbit Engineering 5 min readUpdated
Cron Expression Cheat Sheet — Copy-Paste Schedule Examples

Need a cron expression fast? Copy the one you need from the list below, or keep reading for a plain-English breakdown of how cron syntax actually works.

┌───────────── minute (0–59)
│ ┌───────────── hour (0–23)
│ │ ┌───────────── day of month (1–31)
│ │ │ ┌───────────── month (1–12)
│ │ │ │ ┌───────────── day of week (0–6, Sunday = 0)
│ │ │ │ │
* * * * *

An asterisk (*) means "every possible value." A */n means "every n units." Once you know that, most expressions read like sentences.

Cron cheat sheet: common schedules

  • Every minute — * * * * *
  • Every 5 minutes — */5 * * * *
  • Every 10 minutes — */10 * * * *
  • Every 15 minutes — */15 * * * *
  • Every 30 minutes — */30 * * * *
  • Every hour on the hour — 0 * * * *
  • Every 2 hours — 0 */2 * * *
  • Every 6 hours — 0 */6 * * *
  • Every day at midnight — 0 0 * * *
  • Every day at 6:00 AM — 0 6 * * *
  • Every day at 6:00 PM — 0 18 * * *
  • Twice a day at 9 AM and 9 PM — 0 9,21 * * *
  • Every Monday at 9:00 AM — 0 9 * * 1
  • Weekdays only at 8:00 AM — 0 8 * * 1-5
  • Weekends only at 10:00 AM — 0 10 * * 0,6
  • First day of every month — 0 0 1 * *
  • Last-day handling (run on the 28th) — 0 0 28 * *
  • Every Sunday at midnight — 0 0 * * 0
  • Every quarter — 0 0 1 1,4,7,10 *
  • Once a year on Jan 1 at midnight — 0 0 1 1 *

Want to build or verify a custom schedule? Use our free Cron Expression Generator to translate any expression into plain English instantly.

How to read a cron expression

Take 0 8 * * 1-5: at minute 0, of hour 8, every day of the month, every month, Monday through Friday. Read together: "At 8:00 AM, Monday through Friday."

Common mistakes that break cron jobs

Confusing 0 * * * * with * * * * *. The first runs once per hour. The second runs every single minute — sixty times more often. If your server logs are exploding, check this first.

Day-of-month and day-of-week together: 0 9 1 * 1 does not mean "the 1st of the month if it is a Monday." Standard cron runs the job when either field matches, so it fires on every 1st and every Monday.

Forgetting the server timezone: cron uses the server's local time, which is often UTC on cloud hosting. A job set for 0 9 * * * on a UTC server runs at 9:00 UTC — which may be 2:00 AM your local time.

Assuming seconds exist: standard Unix cron has five fields and no seconds. Six-field expressions with seconds belong to Quartz or Spring schedulers and will fail in crontab.

Test your expression before it goes live

  • Paste it into the Cron Expression Generator and read the plain-English translation back.
  • Temporarily point the job at a harmless command such as echo "ran at $(date)" >> /tmp/cron-test.log and confirm the timestamps match your intent.
  • List your active jobs with crontab -l and edit with crontab -e.

FAQ

What does */5 * * * * mean in cron? It runs a job every 5 minutes, at minutes 0, 5, 10, 15, and so on of every hour, every day.

How do I run a cron job every hour? Use 0 * * * *. This fires at minute 0 of every hour. Using * * * * * by mistake will run it every minute instead.

How do I schedule a cron job for weekdays only? Use 1-5 in the day-of-week field, e.g. 0 8 * * 1-5 for 8:00 AM Monday through Friday.

Does cron use my timezone? No — cron uses the server's local time, which is often UTC on cloud servers. Convert your target time to the server's timezone, or set CRON_TZ if your implementation supports it.

What is the difference between cron and crontab? Cron is the daemon that runs scheduled jobs. Crontab is the file where you list those jobs.

Can cron run a job every 30 seconds? Not natively — the smallest cron interval is one minute. Common workarounds are scheduling the same job twice with a sleep 30 in one entry, or using systemd timers.

Choosing between the common cadences

Interval decision guide (also detailed in the dedicated guides below)
IntervalExpressionRuns per hourBest for
Every 5 minutes*/5 * * * *12Time-sensitive monitoring and queues
Every 10 minutes*/10 * * * *6Syncs, ETL, cache refresh
Every 30 minutes*/30 * * * *2Digests and opportunistic jobs
Hourly0 * * * *1Freshness-driven scheduling
Daily at midnight0 0 * * *1/dayEnd-of-day consolidation

For the reasoning behind the short intervals — overlap safety, freshness trade-offs, log watchpoints — the every-5-minutes guide and the every-10-minutes guide each dig into their cadence, and the daily-schedules guide covers hourly, midnight and every-* variants in depth.

Non-standard and extended syntax

Standard Unix cron stops at five fields — there is no seconds field. If you see expressions with six fields (`* * * * * *`), that file belongs to a scheduler with extended syntax such as Quartz or Spring. For sub-minute work on Linux, systemd timer units support OnCalendar with seconds and are the modern alternative to the sleep-hack. Match the grammar to the daemon: a five-field line in a six-field scheduler silently means something completely different — usually every second.

Bookmark this page and the generator: decode any expression to plain English and eyeball the next three run times before you ship it.

Tools mentioned

More reading

View all guides
What Is Base64? How Encoding Works and Common Mistakes
Developer

What Is Base64? How Encoding Works and Common Mistakes

What Base64 encoding actually does, where it is used, and the mistakes that cause broken or oversized output.

2 min readUpdated
encodeURI vs encodeURIComponent: Which One to Use
Developer

encodeURI vs encodeURIComponent: Which One to Use

How percent-encoding works, the difference between encoding a whole URL and a single component, and the mistakes that break links.

2 min readUpdated
What Is a UUID? Version 4 vs Version 7 Explained
Developer

What Is a UUID? Version 4 vs Version 7 Explained

What a UUID looks like, why version 4 is the safe default, when version 7 is better, and best practices for IDs.

2 min readUpdated
How SHA-256 and SHA-512 Hashes Work: Hashing vs Encryption
Developer

How SHA-256 and SHA-512 Hashes Work: Hashing vs Encryption

What a hash function does, how to choose between SHA-256 and SHA-512, and why hashing is not encryption.

2 min readUpdated
What Is a JWT? Header, Payload and Signature Explained
Developer

What Is a JWT? Header, Payload and Signature Explained

A JSON Web Token has three parts. Learn what the header, payload and signature contain, how to read the claims, and why decoding is not verifying.

2 min readUpdated
What Is HTML Encoding? Entities & Escaping Explained
Developer

What Is HTML Encoding? Entities & Escaping Explained

Learn how HTML encoding works, why escaping prevents XSS and layout breaks, and how to encode and decode named, decimal, and hex entities.

2 min readUpdated
Unix Time Explained: Seconds, Milliseconds and Time Zones
Developer

Unix Time Explained: Seconds, Milliseconds and Time Zones

What a Unix timestamp is, how to tell seconds from milliseconds, how time zones come into it, and the values worth recognising.

2 min readUpdated
Binary, Octal, Decimal and Hex: How Number Bases Work
Developer

Binary, Octal, Decimal and Hex: How Number Bases Work

How positional number bases work, why very large values need exact arithmetic, and the hex and binary values you meet every day.

2 min readUpdated