2026-06-12 · 6 min read · Rahul Chitturi
- cron
- devops
Cron expressions are compact and easy to get wrong. A job scheduled for midnight local time behaves differently across UTC servers, Kubernetes nodes, and developer laptops.
Before you ship
- Confirm UTC vs local timezone in the scheduler
- Preview next 10 run times including DST boundaries
- Document the human meaning in comments
- Make jobs idempotent (safe if run twice)
- Alert on missed runs, not only failures
Kubernetes note
CronJob resources use the controller manager timezone unless you set spec.timeZone (supported in newer versions). Test in staging with the same cluster version.