Cron expression

Every Monday at 9 AM

0 9 * * 1

Runs once a week, on Monday at 09:00.

Runs per month

≈ 4

Next run (UTC)

Mon 09:00

On CronEngine

Runs on the free plan

What each part means

Minute 0 at minute 0
Hour 9 at hour 9
Day of month * every day of the month
Month * every month
Day of week 1 on Monday

Next runs

  1. 1 Monday 26 October 2026 09:00 UTC
  2. 2 Monday 2 November 2026 09:00 UTC
  3. 3 Monday 9 November 2026 09:00 UTC
  4. 4 Monday 16 November 2026 09:00 UTC
  5. 5 Monday 23 November 2026 09:00 UTC

See these in your own timezone, or change the schedule →

Good to know

Typical uses: Weekly reports, planning reminders, weekly invoices.

Copy and paste

crontab -e Crontab
0 9 * * 1 /path/to/script.sh
.github/workflows/scheduled.yml GitHub Actions
on:
  schedule:
    - cron: '0 9 * * 1'

GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy. How to start it on time.

routes/console.php Laravel
Schedule::command('your:command')->weeklyOn(1, '9:00');

Variations

0 16 * * 5 Fridays at 16:00
0 0 * * 0 Sundays at midnight →

Questions

What is the cron expression for every Monday at 9 AM?

0 9 * * 1. Runs once a week, on Monday at 09:00.

Can GitHub Actions run every Monday at 9 AM?

Yes, with cron: '0 9 * * 1'. GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy.