cronuru
Pattern

Every Saturday

0 0 * * 6
0 0 0 ? * SAT
0 0 * * 6
0 0 ? * SAT *
0 0 0 * * SAT
0 0 * * 6

Runs at 00:00 every Saturday — 1 invocation per week, on Unix day-of-week 6 (Saturday).

Use in your stack

# Every Saturday at midnight
0 0 * * 6 /usr/local/bin/weekend-maintenance.sh

# Or with name form
0 0 * * SAT /usr/local/bin/weekend-maintenance.sh
{ "cron": "0 0 0 ? * SAT", "timezone": "UTC" }
apiVersion: batch/v1
kind: CronJob
metadata:
  name: saturday-maintenance
spec:
  schedule: "0 0 * * 6"
  timeZone: "UTC"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: maintenance
            image: my-image:latest
          restartPolicy: OnFailure
cron(0 0 ? * SAT *)
@Scheduled(cron = "0 0 0 * * SAT")
public void everySaturday() { /* ... */ }
on:
  schedule:
    - cron: '0 0 * * 6'

Next runs

Pick a timezone to see when this expression fires next.

Next 10 runs
  1. 012026-07-04T00:00:00.000Z
  2. 022026-07-11T00:00:00.000Z
  3. 032026-07-18T00:00:00.000Z
  4. 042026-07-25T00:00:00.000Z
  5. 052026-08-01T00:00:00.000Z
  6. 062026-08-08T00:00:00.000Z
  7. 072026-08-15T00:00:00.000Z
  8. 082026-08-22T00:00:00.000Z
  9. 092026-08-29T00:00:00.000Z
  10. 102026-09-05T00:00:00.000Z

Variations

0 0 * * 0

Every Sunday

0 0 * * 6,0

Weekends (Sat + Sun)

0 0 * * 5

Every Friday

0 0 * * 1

Every Monday

Common use cases

  • Weekly heavy maintenance during the quiet weekend.
  • Long-running batch jobs that shouldn't disrupt weekdays.
  • Weekend backups or reindexing.
  • Saturday-only recurring tasks.

Gotchas

  • Day-of-week numbering: Unix uses Saturday = 6 (Sun=0). Quartz uses Saturday = 7 (Sun=1). Use name form (`SAT`) to avoid the off-by-one.
  • AWS EventBridge: `0 0 ? * SAT *` — uses `?` for day-of-month.
  • Pair with `0 0 * * 0` (Sunday) using `0 0 * * 6,0` to cover the whole weekend.

0 0 * * 6 is the Saturday weekly schedule — the classic slot for heavy maintenance that benefits from quiet weekend infrastructure. Use name form SAT and pin the timezone.

Frequently asked questions

What does `0 0 * * 6` mean?
Minute `0`, hour `0` (midnight), day-of-month `*` (any), month `*` (any), day-of-week `6` (Saturday in Unix where Sun=0). So the job fires at midnight every Saturday — one invocation per week.
Why is Saturday `6` in Unix but `7` in Quartz?
Unix cron numbers days 0–6 with Sunday at 0 (so Saturday is 6). Quartz numbers days 1–7 with Sunday at 1 (so Saturday is 7). Use the name form `SAT` — unambiguous across every dialect.
How do I run on both Saturday and Sunday?
Use `0 0 * * 6,0` (Saturday and Sunday in Unix) or `0 0 * * SAT,SUN`. See the dedicated weekends pattern for the full reference.

Browse all cron patterns

Every schedule Cronuru documents, with its expression and code snippets for six dialects.