Cron Expression for Every Quarter

0 0 1 1,4,7,10 *

At 12:00 AM, on day 1 of the month, only in January, April, July, and October. Quarterly reports, access reviews, and key rotation policies.

Field-by-field breakdown

FieldValueAllowed rangeMeaning
Minute00–59at minute 0
Hour00–23at hour 0
Day of month11–31on day 1
Month1,4,7,101–12January, April, July and October
Day of week*0–6 (Sunday = 0)every day of the week

Next 5 runs (your time zone)

Calculating upcoming runs…

Cron uses the time zone of the machine or scheduler that runs it, which is often UTC on servers.

How to use this schedule

crontab

0 0 1 1,4,7,10 * /path/to/script.sh >> /var/log/job.log 2>&1

Kubernetes CronJob

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "0 0 1 1,4,7,10 *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: my-job
              image: busybox
              command: ["sh", "-c", "echo running"]
          restartPolicy: OnFailure

GitHub Actions

on:
  schedule:
    - cron: '0 0 1 1,4,7,10 *'  # UTC

Frequently Asked Questions

What is the cron expression for every quarter?

Use "0 0 1 1,4,7,10 *". In plain English: At 12:00 AM, on day 1 of the month, only in January, April, July, and October.

What does "0 0 1 1,4,7,10 *" mean?

Minute: at minute 0; Hour: at hour 0; Day of month: on day 1; Month: January, April, July and October; Day of week: every day of the week.