Scheduling guide

Cron schedules and timezone surprises

How to read a five-field schedule and verify the clock that will actually run it.

ToolsNHelpers editorial teamReviewed 10 August 20266 minute read

Read the five fields from left to right

A traditional cron expression has minute, hour, day of month, month, and day of week fields. For example, 0 9 * * 1-5 means minute zero at hour nine on weekdays in the scheduler's interpretation of those fields. The Cron Explainer can make a simple expression readable and preview upcoming runs.

Do not assume every scheduler uses the same syntax. Some platforms add seconds, a year field, special tokens, or a different interpretation of the two day fields.

The expression does not carry a timezone by itself

“09:00” is incomplete until the scheduler's timezone is known. A host may use UTC, a machine-local zone, a container setting, or an explicit job-level timezone. Managed platforms can also evaluate schedules in a documented service timezone while displaying them in your browser's local zone.

Write the intended zone beside the schedule, for example “09:00 Europe/Lisbon weekdays”. Verify the actual runtime configuration instead of trusting a dashboard preview.

Daylight-saving transitions are real edge cases

In a region that changes clocks, a local time can occur twice or not occur at all. A job scheduled at 02:30 may be skipped or run once depending on the scheduler's rules. A job that must run exactly once should be designed around an unambiguous instant and protected by idempotency or a recorded execution key.

Test the next several occurrences

Preview dates around month-end, leap days, weekends, daylight-saving changes, and the boundary between two calendar days. Check the server logs after deployment and make the task safe to retry. A correct expression can still produce an unsafe workflow if two instances run at the same time.

Checklist

  1. Confirm the scheduler dialect and field count.
  2. Write the intended timezone next to the expression.
  3. Preview dates in UTC and the intended local zone.
  4. Test daylight-saving, month-end, and retry behavior.
  5. Verify the deployed job from logs, not only from a UI preview.

Reference

The common Linux format is described in the crontab(5) manual. Hosted schedulers may intentionally extend or change those rules.

An unhandled error has occurred. Reload x