Cron: Run at 6am and 6pm
To run a cron job every 12 hours aligned to 6am and 6pm, use 0 6,18 * * *. This is cleaner than */12 because it guarantees the exact clock times rather than counting from midnight.
The expression
0 6,18 * * * runs at 6am and 6pm every day. Copy it straight into your crontab.
Why not */12?
*/12 * * * * in the hour field would fire at 00:00 and 12:00, not 6 and 18. To hit 6am and 6pm specifically, list the hours: 0 6,18 * * *.
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 6,18 * * 1-5.
FAQ
What is the cron expression to run at 6am and 6pm?
0 6,18 * * * — 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.