CRON expressions are powerful tools for scheduling tasks — from backups to emails — across servers, cloud platforms, and CI/CD pipelines. While they may look cryptic at first, once you decode the pattern, you unlock a whole new level of automation.


🔹 What is a CRON Expression?

A CRON expression is a string with 5 space-separated fields (sometimes 6 or 7 depending on the system) that define a recurring schedule.

┌──────── minute (0 - 59)
│ ┌────── hour (0 - 23)
│ │ ┌──── day of month (1 - 31)
│ │ │ ┌── month (1 - 12 or JAN-DEC)
│ │ │ │ ┌─ day of week (0 - 6 or SUN-SAT)
│ │ │ │ │
* * * * *

🔹 Common Examples

Expression Meaning
0 0 * * * Every day at midnight
*/5 * * * * Every 5 minutes
0 9 * * 1-5 9 AM on weekdays
30 14 1 * * 2:30 PM on the 1st of each month
@daily Shortcut for 0 0 * * *

🔹 Special Characters

Symbol Meaning
* Every value
, List (e.g., MON,WED,FRI)
- Range (e.g., 1-5)
/ Step (e.g., */10 → every 10 units)

🔹 Special Strings

String Equivalent CRON Description
@reboot Run at system startup
@yearly 0 0 1 1 * Once a year
@monthly 0 0 1 * * Once a month
@weekly 0 0 * * 0 Every Sunday
@daily 0 0 * * * Every day at midnight
@hourly 0 * * * * Every hour

🔹 Tips & Tools

  • Always test your expressions using tools like crontab.guru or Cronhub.

  • This format changes based on the system. For example, the Quartz CRON scheduler has a slightly different format to support extra capabilities, such as seconds and nth recursive patterns, like the 3rd Friday of the month. Similarly AWS Cloudwatch has different one.