Cron Expression for Every Day at 3 AM

Every day at 3am — once a day
0 3 * * *

Cron reads this as: at 03:00.

Next 5 runs

Computed in your browser's local time zone. Cron itself evaluates against the server's zone, which on most cloud hosts is UTC — see time zones & DST if that distinction matters here.

When to use this schedule

The best default for a nightly job. It is past the midnight contention, past the daylight saving transition window, and still leaves several hours before the working day for a long-running job to finish or for someone to react to a failure.

What to watch out for

Little to watch for in the schedule itself, which is the point. The remaining questions are operational: is the job idempotent if it has to be re-run, does its output go somewhere you will actually look, and will you find out if it stops running altogether? A nightly job that silently stopped three weeks ago is the most common cron failure there is, and no schedule prevents it.

The crontab line

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

Redirect the output somewhere you will actually read it — by default cron mails it, and on a host with no mail transport that means it is discarded. See the crontab guide for the surrounding syntax.

Related schedules

Variations on every day at 3am
ExpressionSchedule
0 3 * * 1-503:00 on weekdays only
0 3 * * 003:00 on Sundays only
30 3 * * *03:30 daily

Build your own

Need something this page does not cover? 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 collects sixty schedules in one place, and the guides cover crontab syntax, time zones, troubleshooting and production practices.