Cron expression
Once a week
0 0 * * 0
Runs once a week, on Sunday at 00:00, the start of Sunday.
Runs per month
≈ 4
Next run (UTC)
Sun 00:00
On CronEngine
Runs on the free plan
What each part means
| Minute | 0 | at minute 0 |
| Hour | 0 | at hour 0 |
| Day of month | * | every day of the month |
| Month | * | every month |
| Day of week | 0 | on Sunday |
Next runs
- 1 Sunday 25 October 2026 00:00 UTC
- 2 Sunday 1 November 2026 00:00 UTC
- 3 Sunday 8 November 2026 00:00 UTC
- 4 Sunday 15 November 2026 00:00 UTC
- 5 Sunday 22 November 2026 00:00 UTC
See these in your own timezone, or change the schedule →
Good to know
- This is what the shortcut @weekly means. Note that it is the night from Saturday to Sunday, not from Sunday to Monday.
- Weekly jobs run only 4 or 5 times a month, so a single silent failure costs a whole week. Get an alert when one does not run.
Typical uses: Weekly backups, cleaning up old data, weekly digests.
Copy and paste
0 0 * * 0 /path/to/script.sh
on:
schedule:
- cron: '0 0 * * 0'
GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy. How to start it on time.
Schedule::command('your:command')->weekly();
Variations
| 0 0 * * 1 | Mondays at midnight |
| 0 9 * * 1 | Mondays at 09:00 → |
Questions
What is the cron expression for once a week?
0 0 * * 0. Runs once a week, on Sunday at 00:00, the start of Sunday.
Can GitHub Actions run once a week?
Yes, with cron: '0 0 * * 0'. GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy.