Cron expression for Every day at 10am
0 10 * * *
Runs once a day at 10am, every day.
Next 5 runs (your local time)
These are shown in your browser’s timezone. The job itself runs in the scheduler’s timezone — often UTC — so the real run time can differ.
What people actually schedule with 0 10 * * *
- Posting social content at the mid-morning engagement peak, after the early-inbox triage has cleared
- Sending follow-up or transactional reminders timed for when people are settled and actually reading
- Mid-morning data refreshes that incorporate the first few hours of the day's activity
Use 0 10 * * * on your platform
It’s the same 5-field expression everywhere — what changes is where you put it and which timezone it runs in.
Linux / crontab
0 10 * * * /path/to/your-command
Runs in the server’s local timezone — check it with timedatectl.
Full field reference: crontab(5) man page.
GitHub Actions
on:
schedule:
- cron: "0 10 * * *"
GitHub Actions always runs scheduled jobs in UTC — there is no timezone setting, and runs can be delayed under load (official docs).
Kubernetes CronJob
spec:
schedule: "0 10 * * *"
Defaults to UTC. Set spec.timeZone (Kubernetes 1.27+)
for a specific zone — see the
CronJob docs.
Quartz / Spring @Scheduled
Quartz uses 6 fields (seconds first): 0 0 10 * * *. Watch out:
Quartz day-of-week is 1=SUN … 7=SAT (not 0–6), and day-of-month /
day-of-week use ? — double-check if your schedule touches those fields
(Quartz cron reference).
Gotchas with every day at 10am schedules
- 10am runs collide head-on with peak production traffic. This is often the daily high-water mark for app load, so any non-trivial job here steals CPU and DB connections from real users. If it must run at 10, cap its resource use (a connection-pool limit,
nice/ionice) and keep it short — overnight is for anything heavy. - Time-zone math quietly breaks the "mid-morning" intent. A
0 10 * * *job on a UTC host fires at 2am US-Pacific and 7:30pm in India — the entire reason you chose 10am (peak attention) is lost. PinCRON_TZ=to the target audience, or schedule separate per-region runs; never assume the server clock matches your readers. - Daily 10am sends ignore the weekend cliff. Engagement for work content drops sharply Saturday/Sunday, so "every day" wastes two of seven posts. Use
0 10 * * 1-5for weekday-only, and remember that in cron's day-of-week field both0and7mean Sunday, a classic off-by-one source.
Will you know if this job silently fails?
Cron jobs fail quietly — a server reboots, a path changes, or an error code is ignored — and nobody notices until the data is missing. A cron monitor (a dead-man’s-switch) alerts you when a scheduled job does not check in on time.
Monitor your cron jobs with UptimeRobot →
Disclosure: this is an affiliate link — we may earn a commission if you sign up, at no extra cost to you.
Is 0 10 * * * the right schedule?
If the goal is the workday attention peak without weekend waste, every weekday at 9am is the tighter target. For genuinely heavy data jobs that don't need a specific viewing time, move the compute to an overnight slot like 3am and leave only the publish at 10.
Or use the interactive cron generator & explainer, read the complete cron syntax guide, or pick another common schedule: