Cron: Every Sunday
0 0 * * 0 fires once a week, every Sunday at midnight — day-of-week 0 in standard cron (7 also works as an alias for Sunday in most implementations). It's the schedule behind the @weekly nickname and a natural anchor point for full weekly backups and week-boundary reports.
0 0 * * 0
Examples & Variations
Common Mistakes
- Assuming 0 and 7 behave differently in the day-of-week field — both mean Sunday in standard cron, so a system that treats them differently is non-standard or buggy.
- Scheduling a Sunday-night job that needs to be complete before Monday morning without leaving enough buffer for a slow run to finish in time.
- Using Sunday midnight as a default 'week boundary' without checking whether your business logic actually defines weeks the same way (some fiscal calendars start weeks on Monday).
Best Practices
- Sunday night into Monday morning is a natural boundary for weekly batch jobs — just build in enough runway before Monday's business hours start.
- If your organization defines the work week as Monday–Sunday rather than Sunday–Saturday, make sure your job's date-range logic matches, since cron's day numbering doesn't encode that assumption.
- @weekly is a convenient shorthand for exactly this schedule if your cron implementation supports nicknames — same effect as 0 0 * * 0 with less to type.
Frequently Asked Questions
- Is Sunday 0 or 7 in cron?
- Both work and mean the same thing in standard cron — 0 and 7 are both valid representations of Sunday, included for compatibility with different regional week-numbering conventions.
- Is 0 0 * * 0 the same as @weekly?
- Yes — @weekly is a standard nickname that expands to exactly 0 0 * * 0.
- How do I run something every Sunday evening instead of midnight?
- Change the hour field: 0 20 * * 0 runs at 8 PM Sunday instead of midnight.