Cron Expression for Every 2 Hours

Every 2 hours — 12 times a day
0 */2 * * *

Cron reads this as: minute 0, past every 2nd hour.

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

Twelve runs a day at 00:00, 02:00, 04:00 and so on through 22:00. Suits incremental backups, medium-weight syncs and report refreshes where hourly would be wasteful.

What to watch out for

The classic error here is * */2 * * * — with a wildcard minute that runs sixty times in each of those hours, 720 times a day instead of 12. The minute field must be a fixed value. Also note the cycle is anchored to midnight, so "every 2 hours" means the even hours specifically, not two hours from whenever you installed the job.

The crontab line

0 */2 * * * /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 2 hours
ExpressionSchedule
* */2 * * *The common mistake — 720 runs/day
0 */3 * * *Every 3 hours
0 */4 * * *Every 4 hours

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.