Cron Expression for Every Day at 2 AM

Every day at 2am, once a day
0 2 * * *

Cron reads this as: at 02:00.

Next 5 runs

These times are in your browser's local time zone. Cron itself uses the server's zone, which on most cloud hosts is UTC. If the difference matters here, see time zones & DST.

When to use this schedule

02:00 is the traditional backup window. Traffic is low, the midnight pile-up is over, and there is enough time to finish before the working day starts. It is widely used for database dumps, full filesystem backups and nightly ETL.

What to watch out for

Most of North America and Europe change their clocks at 02:00, which makes it the worst hour of the day for a job that must run exactly once. On spring-forward night the 02:00 hour does not exist. Vixie cron runs the job at 03:00 to compensate, but not every implementation does. On fall-back night in Europe the 02:00 hour occurs twice. In North America it is the 01:00 hour that repeats. Moving the job to 0 3 * * * costs nothing and removes the problem permanently.

The crontab line

0 2 * * * /usr/local/bin/your-job.sh >> /var/log/your-job.log 2>&1

Send the output to a log you will read. By default cron mails it, and on a host with no mail transport that mail is silently dropped. See the crontab guide for the surrounding syntax.

Related schedules

Variations on every day at 2am
ExpressionSchedule
0 3 * * *03:00, clear of DST transitions
30 2 * * *02:30 daily
0 2 * * 002:00 on Sundays only

Build your own

If this page doesn't cover the schedule you need, compose it field by field in the visual builder, or paste an expression you already have into the explainer for a per-field breakdown. The examples library has sixty schedules in one place, and the guides cover crontab syntax, time zones, troubleshooting and production practices.