What cron is

Cron is the scheduler built into Linux and Unix systems. A cron expression describes when a job runs, such as every night at 2 am or every weekday at 9 am. Many hosting panels, CI systems and cloud platforms use the same format.

The five fields

A standard expression has five fields in this order: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6, with Sunday as 0, and often 7 as well). A * means every value.

Special characters

  • Comma: a list, such as 1,15.
  • Hyphen: a range, such as 1-5.
  • Slash: a step, such as */15 for every 15 units.
  • Asterisk: every value.

Examples

  • */15 * * * * runs every 15 minutes.
  • 0 * * * * runs at the start of every hour.
  • 30 2 * * * runs every day at 02:30.
  • 0 9 * * 1-5 runs at 09:00 on weekdays.
  • 0 0 1 * * runs at midnight on the first day of each month.

Build one with Serpgy

  1. Open the Cron Expression Generator.
  2. Choose the schedule with the simple options.
  3. Check the preview of the next run times.
  4. Copy the expression into your crontab, panel or scheduler.

Gotchas

  • Time zone: cron uses the server or scheduler time zone, often UTC. Confirm it before assuming local time.
  • Day fields: in standard cron, if both day of month and day of week are restricted, the job runs when either matches, not both.
  • Some systems differ: Quartz and some cloud schedulers use six or seven fields, including seconds or year.
  • Overlap: make long jobs safe to run when the previous run has not finished.
  • Environment: cron runs with a minimal environment, so use full paths to commands and files.