Every Sunday
0 0 * * 0 0 0 0 ? * SUN 0 0 * * 0 0 0 ? * SUN * 0 0 0 * * SUN 0 0 * * 0 Runs at 00:00 every Sunday — 1 invocation per week. This is what the @weekly shortcut expands to.
Use in your stack
# Every Sunday at midnight
0 0 * * 0 /usr/local/bin/weekly-reset.sh
# Equivalent shortcut (Linux crontab)
@weekly /usr/local/bin/weekly-reset.sh
{ "cron": "0 0 0 ? * SUN", "timezone": "UTC" }
apiVersion: batch/v1
kind: CronJob
metadata:
name: weekly-reset
spec:
schedule: "0 0 * * 0"
timeZone: "UTC"
jobTemplate:
spec:
template:
spec:
containers:
- name: reset
image: my-image:latest
restartPolicy: OnFailure
cron(0 0 ? * SUN *)
@Scheduled(cron = "0 0 0 * * SUN")
public void everySunday() { /* ... */ }
on:
schedule:
- cron: '0 0 * * 0'
Next runs
Pick a timezone to see when this expression fires next.
Next 10 runs
- 012026-07-05T00:00:00.000Z
- 022026-07-12T00:00:00.000Z
- 032026-07-19T00:00:00.000Z
- 042026-07-26T00:00:00.000Z
- 052026-08-02T00:00:00.000Z
- 062026-08-09T00:00:00.000Z
- 072026-08-16T00:00:00.000Z
- 082026-08-23T00:00:00.000Z
- 092026-08-30T00:00:00.000Z
- 102026-09-06T00:00:00.000Z
Variations
Common use cases
- Weekly reset of counters or quotas.
- Week-ahead planning reports sent Sunday night.
- Weekly backups or archive rotation.
- Sunday maintenance windows.
Gotchas
- Day-of-week numbering: Unix uses Sunday = 0. Quartz uses Sunday = 1. Use name form (`SUN`) to avoid the off-by-one.
- On Linux crontab, `@weekly` is shorthand for `0 0 * * 0`. Kubernetes CronJob accepts it; GitHub Actions does not.
- Some Unix implementations also accept `7` for Sunday, but `0` is the portable choice.
0 0 * * 0 is the Sunday-at-midnight weekly schedule and the canonical expansion of @weekly. Use name form SUN if you’ll port it to Quartz or AWS EventBridge, where Sunday is numbered differently.
Frequently asked questions
What does `0 0 * * 0` mean?
Minute `0`, hour `0` (midnight), day-of-month `*` (any), month `*` (any), day-of-week `0` (Sunday in Unix). So the job fires at midnight every Sunday — one invocation per week.
Is `0 0 * * 0` the same as `@weekly`?
Yes, on systems that support the shortcut. `@weekly` expands to `0 0 * * 0` (Sunday at midnight) on Linux crontab, anacron, and Kubernetes CronJob. GitHub Actions doesn't support `@weekly` — write the full expression.
Can I write Sunday as `7` instead of `0`?
Some Unix cron implementations accept `7` as an alternate for Sunday, and Spring accepts both `0` and `7`. But `0` is the portable, spec-compliant choice. Quartz and AWS EventBridge use `1` for Sunday — prefer the name form `SUN` to avoid all the numbering differences.
How do I run Sunday evening instead of midnight?
Change the hour field. `0 18 * * 0` runs at 6 PM Sunday, `0 20 * * SUN` at 8 PM. Combine with a timezone pin so "Sunday evening" means the right local time.
Browse all cron patterns
Every schedule Cronuru documents, with its expression and code snippets for six dialects.