Cron Expression: Every Day at 2am
The expression is 0 2 * * *. Paste it above to read it in English and preview the next run times. Below: field-by-field and how time zones affect it.
The expression
0 2 * * * runs a job once a day at 02:00 (2am) in the server's local time zone, every day of the year.
Field by field
0 minute, 2 hour (2am on a 24-hour clock), and * * * leave day-of-month, month and weekday unconstrained. Cron uses a 24-hour clock, so there is no am/pm field — 2pm would be hour 14.
Why 2am is a popular slot
The small hours are the classic window for backups, log rotation and cache warming: traffic is low and a long job is unlikely to collide with users. If you run many nightly jobs, stagger them (2:00, 2:15, 2:30) instead of firing them all at 0 2.
Time zones
Cron fires in the machine's local time unless you set CRON_TZ=UTC (Vixie cron) or the service's timezone. On a UTC server, 0 2 * * * is 2am UTC, not 2am where you live.
Common variations
Every day at 2:30am: 30 2 * * *. Weekdays only at 2am: 0 2 * * 1-5. Twice nightly (2am and 2pm): 0 2,14 * * *.
FAQ
Does 0 2 * * * run at 2am or 2pm?
At 2am. Cron uses a 24-hour clock, so hour 2 is 02:00. 2pm would be hour 14 — 0 14 * * *.
What time zone does it use?
The server's local time zone by default. Set CRON_TZ or the system timezone if you need it anchored to UTC or a specific region.
How do I run at 2am only on weekdays?
Use 0 2 * * 1-5 to limit it to Monday through Friday.