Cron Reference

Cron Expression 0 9 * * 1 Meaning

Cron expression 0 9 * * 1 means At 9:00 AM, on Monday.

Cron expression 0 9 * * 1 runs every Monday at 9:00 AM. Use this guide to decode the expression quickly and apply it safely in crontab, GitHub Actions, and other schedulers.

Cron Expression

0 9 * * 1
0Minute
9Hour
*Day
*Month
1Weekday

Common use cases

  • Monday standup report generation
  • Weekly KPI dashboard refresh before planning meetings
  • Start-of-week notification campaigns
  • Monday morning queue and backlog grooming automations

How to use this cron schedule

The meaning of cron expression 0 9 * * 1 is simple once you break it into fields: minute 0, hour 9, any day of month, any month, weekday 1. In standard Unix cron, weekday 1 is Monday. So this schedule runs once each week at 9:00 AM on Monday. It is a strong default when teams want one reliable kickoff job to start reporting, sync project data, or post reminders at the start of the work week.

This expression is often better than a daily schedule with filtering logic because the cadence is encoded directly in cron itself. Fewer guard clauses usually means fewer mistakes during maintenance. You can pair this pattern with lightweight validation checks that run five to ten minutes earlier, ensuring source systems are online before the main Monday process begins. If your scheduler supports named weekdays, keep a short comment nearby so future maintainers immediately see that numeric 1 maps to Monday.

When migrating this schedule between platforms, watch for weekday numbering differences. Most Unix-like cron implementations use 0 or 7 for Sunday and 1 for Monday, but some tools have minor quirks. Test in a staging environment with verbose logs and verify the next run timestamp before enabling production side effects. If your organization spans time zones, define whether 9:00 AM refers to UTC or a business timezone like America/Los_Angeles so everyone expects the same execution window.

Want to customize this schedule?

Open it in the visual builder to tweak the expression interactively.

Open in Builder

Need to monitor this cron job?

Cronhub tracks your scheduled jobs and alerts you if they fail or run late.

Monitor with Cronhub

Platform usage examples

Linux / Unix — crontab
# Edit your crontab
crontab -e

# Add this line to run expression 0 9 * * 1 meaning
0 9 * * 1 /usr/bin/php /var/www/html/script.php

# Or run a shell script
0 9 * * 1 /home/user/scripts/job.sh >> /var/log/job.log 2>&1
GitHub Actions
# .github/workflows/scheduled.yml
name: Scheduled Job

on:
  schedule:
    - cron: '0 9 * * 1'

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run job
        run: echo "Running expression 0 9 * * 1 meaning"
Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-scheduled-job
spec:
  schedule: "0 9 * * 1"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: job
            image: my-image:latest
          restartPolicy: OnFailure

Related developer tools

More free tools for engineering workflows that pair with scheduled jobs:

Frequently asked questions

What is the cron expression for expression 0 9 * * 1 meaning?

The cron expression is 0 9 * * 1. Cron expression 0 9 * * 1 runs every Monday at 9:00 AM. Use this guide to decode the expression quickly and apply it safely in crontab, GitHub Actions, and other schedulers.

How do I schedule a cron job to run expression 0 9 * * 1 meaning in Linux?

Open your crontab with "crontab -e" and add a new line: 0 9 * * 1 /path/to/your/script.sh — this schedules your script to run expression 0 9 * * 1 meaning. Save and exit; the cron daemon picks up the change immediately.

What does the cron expression "0 9 * * 1" mean?

Cron expression 0 9 * * 1 runs every Monday at 9:00 AM. Use this guide to decode the expression quickly and apply it safely in crontab, GitHub Actions, and other schedulers.

Can I use "0 9 * * 1" in GitHub Actions?

Yes. In your workflow YAML, set the schedule trigger: on: schedule: - cron: '0 9 * * 1'. GitHub Actions uses standard 5-field Unix cron syntax, so this expression works as-is.

Related cron schedules

More Free Developer Tools