You cannot do that with cron on a single line. You have to create 2 separate crons:
0 0 * * * command
30 13 * * * commandStandard cron has no way to say “at 00:00 and at 13:30” in one expression. The minute and hour fields are independent — any cross-product is a valid match. So 0,30 0,13 * * * would fire at 00:00, 00:30, 13:00 and 13:30 — four times a day.
This is the same constraint as the 8:00 / 15:30 case. Whenever the two times differ in both hour and minute, you need two cron lines.
For more complex multi-time daily schedules (3 or more fixed times), the pattern scales: one cron line per time. Or, switch to a scheduler with a richer time-set DSL (Quartz 0 30 13 ? * * + a second 0 0 0 ? * *, or AWS EventBridge schedule expressions).
Read the dedicated guide: Cron every day.
Other answers and worked examples for the most confusing cron expressions.
Ready to schedule it?
WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.
Free forever tier ・ No credit card required
Schedule
“every 5 minutes”
Next run
in 23s
Permalink: https://tool.crontap.com/help/cron-job-run-script-at-two-different-specific-times