Cron Reference

Cron First Monday of the Month

Cron expression 0 9 1-7 * 1 means At 9:00 AM, on days 1st through 7th, on Monday.

Cron expression to approximate the first Monday of every month at 9 AM: 0 9 1-7 * 1. Runs on any Monday that falls within the first 7 days of the month.

Cron Expression

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

Common use cases

  • Monthly all-hands meeting reminder emails
  • First-Monday-of-month billing cycle jobs
  • Monthly planning digest sent at the start of each month
  • Kickoff notifications for monthly sprints or campaigns

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 first monday of the month
0 9 1-7 * 1 /usr/bin/php /var/www/html/script.php

# Or run a shell script
0 9 1-7 * 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-7 * 1'

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run job
        run: echo "Running first monday of the month"
Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-scheduled-job
spec:
  schedule: "0 9 1-7 * 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 first monday of the month?

The cron expression is 0 9 1-7 * 1. Cron expression to approximate the first Monday of every month at 9 AM: 0 9 1-7 * 1. Runs on any Monday that falls within the first 7 days of the month.

How do I schedule a cron job to run first monday of the month in Linux?

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

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

Cron expression to approximate the first Monday of every month at 9 AM: 0 9 1-7 * 1. Runs on any Monday that falls within the first 7 days of the month.

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

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

Related cron schedules

More Free Developer Tools