* * * * *
Every minute

About the Cron Expression Builder

Cron is the Unix job scheduler that executes commands at specified times. A cron expression is a string of five space-separated fields defining the schedule: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-7, where 0 and 7 both mean Sunday). Cron runs on virtually every Linux and Unix system and is used for backups, log rotation, report generation, and automated deployments.

Cron expression field syntax

Common cron schedule examples

0 * * * * — every hour on the hour. 0 0 * * * — midnight every day. 0 9 * * 1-5 — 9am on weekdays. */5 * * * * — every 5 minutes. 0 0 1 * * — midnight on the 1st of each month.

Cron alternatives and modern schedulers

While cron remains ubiquitous on Linux systems, modern infrastructure often uses purpose-built schedulers. Cloud platforms offer managed scheduling: AWS EventBridge, Google Cloud Scheduler, and Azure Logic Apps all provide cron-compatible schedules with logging, retries, and alerting. For application-level scheduling in Node.js, node-cron or Agenda.js are common choices.

Frequently Asked Questions

What does a cron expression look like?
A standard cron expression has 5 fields separated by spaces: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-7). Example: "30 14 * * 1" runs at 2:30pm every Monday. Asterisks mean "every value in that field".
How do I run a cron job every 15 minutes?
Use the expression */15 * * * *. This runs at 0, 15, 30, and 45 minutes past every hour. Alternatively, 0,15,30,45 * * * * is equivalent and more explicit. To start from a specific minute: 5/15 * * * * runs at 5, 20, 35, 50.
What is the difference between * and */1 in cron?
They are identical. */1 means "every 1 unit" which is the same as "every unit" (*). The /1 step is redundant but valid. Use * for clarity.
Why did my cron job not run?
Common causes: the cron daemon is not running (check with systemctl status cron), the script lacks execute permission (chmod +x script.sh), the job uses environment variables not available in the cron environment, or the script path is relative rather than absolute. Check /var/log/syslog for cron entries.
How do I edit my crontab?
Run crontab -e to open your user crontab in the default editor. Each line is a separate job: */30 * * * * /path/to/script.sh. Run crontab -l to list current jobs. System-wide jobs go in /etc/cron.d/ or /etc/crontab.
Related tools
Ad