crontool
Paste a schedule, read it in English, see the next runs.

Cron: Run at 9am and 9pm

To run a cron job at 9am and 9pm, use 0 9,21 * * *. Hour 21 is 9 PM in 24-hour time, giving two runs twelve hours apart anchored to 9 o'clock.

The expression

0 9,21 * * * runs at 9am and 9pm every day. Copy it straight into your crontab.

Twelve hours apart on the clock

0 9,21 * * * fires at 09:00 and 21:00 daily. Unlike */12, it lands on 9 rather than midnight/noon.

The one mistake to avoid

Put the fixed value 0 in the minute field. If you leave the minute as *, the job runs every minute during each listed hour, not once. The comma list belongs in the hour field; the minute stays a single number.

Limit to weekdays

Append the day-of-week field to restrict the same times to Monday-Friday: 0 9,21 * * 1-5.

FAQ

What is the cron expression to run at 9am and 9pm?

0 9,21 * * * — the comma-separated list in the hour field fires the job once at each listed hour, with minute fixed to 0.

Why does my job run every minute instead of at those hours?

Your minute field is * . A comma list in the hour field still needs a single minute (usually 0), otherwise it runs 60 times per listed hour.

Can I list more than two times in one cron line?

Yes. The hour field accepts any comma-separated list, e.g. 9,12,15 for three runs a day. Keep the minute fixed so each hour fires once.