DevToolsmith

Cron Job Every 3 Minutes

The cron expression */3 * * * * runs a job every 3 minutes. Check its next run times below, then copy a ready-made line for crontab, Kubernetes, GitHub Actions, systemd or AWS.

Runs 100% in your browser — nothing is uploaded

Cron schedule

Schedule time zone

UTC

Cron expression for every 3 minutes

*/3 * * * *

Every 3 minutes. It runs 480 times a day, 175,200 times a year.

Because 60 divides evenly by 3, the gap is always exactly three minutes, even across the hour: :57 is followed by :00. Steps that don’t divide 60 behave differently. */7 runs at :49, :56 and then :00, only four minutes later, because the step restarts every hour.

Field by field

FieldValueMatches
minute */3 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57
hour * every value
day of month * every value
month * every value
day of week * every value

Examples

crontab

Run crontab -e and add:

*/3 * * * * /usr/local/bin/job.sh >> /var/log/job.log 2>&1

Kubernetes CronJob

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "*/3 * * * *"
  timeZone: "Etc/UTC"          # Kubernetes 1.27+
  concurrencyPolicy: Forbid    # skip a run if the last one is still going
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: job
              image: ghcr.io/acme/job:1.0
          restartPolicy: OnFailure

GitHub Actions

on:
  schedule:
    - cron: '*/3 * * * *'   # UTC

GitHub Actions won’t run a schedule more often than every 5 minutes, so this workflow will run less often than the expression says. Scheduled runs can also start late when GitHub is busy.

systemd timer

# /etc/systemd/system/job.timer
[Unit]
Description=Run job.service every 3 minutes

[Timer]
OnCalendar=*-*-* *:00/3:00
Persistent=true

[Install]
WantedBy=timers.target

Enable it with systemctl enable --now job.timer, and check the next runs with systemd-analyze calendar "*-*-* *:00/3:00". Persistent=true runs a missed job after downtime, which cron can’t do.

AWS EventBridge

cron(0/3 * * * ? *)

EventBridge cron has six fields (the last is the year), uses ? in either the day-of-month or the day-of-week field, and numbers weekdays from 1 (Sunday) to 7. Rules run in UTC; EventBridge Scheduler also accepts a time zone.

Similar schedules: every few minutes

Have a different schedule? Paste any expression into the Cron Expression Generator, or browse all cron examples.

Sources

Spotted a mistake? Email hello@devtoolsmith.com and we’ll fix it.

Frequently asked questions

How do I run a cron job every 3 minutes?

Use */3 * * * *. It means “Every 3 minutes”. It runs 480 times a day, 175,200 times a year.