Cron expression for weekends only
At 10:00, on weekends (Saturday and Sunday).
Five fields for Linux, GitHub Actions and Kubernetes (minute hour day month weekday). Six or seven for Quartz. Nothing you type leaves your device.
What it means and when to use it
A list in the day-of-week field separates days with commas. Saturday is 6 and Sunday is 0 (or 7), so 6,0 or SAT,SUN means the two weekend days. Weekend-only schedules fit maintenance work that must not touch the working week, bulk imports, or a weekly digest for a hobby community that reads on Saturday morning.
Watch out for this
Order does not matter in a list, so 0,6 and 6,0 are the same. The big trap is the numbering: Quartz counts Sunday as 1 and Saturday as 7, so weekends there are 1,7, and copying 6,0 into a Quartz expression gives an error (0 is not allowed) or the wrong days. Writing names (SAT,SUN) is safe in every system and is easier to read in six months.
What each field says
| Field | Written | Means |
|---|---|---|
| Minute | 0 | 0 |
| Hour | 10 | 10 |
| Day of month | * | every day of the month |
| Month | * | every month |
| Day of week | 6,0 | Sun, Sat |
An example of the next runs
If it were Friday 13 November 2026 at 10:20 UTC, the next six runs would be these. Times are shown in UTC and in India time (UTC+5:30).
| UTC | India time |
|---|---|
| Sat 14 Nov, 10:00 | Sat 14 Nov, 15:30 |
| Sun 15 Nov, 10:00 | Sun 15 Nov, 15:30 |
| Sat 21 Nov, 10:00 | Sat 21 Nov, 15:30 |
| Sun 22 Nov, 10:00 | Sun 22 Nov, 15:30 |
| Sat 28 Nov, 10:00 | Sat 28 Nov, 15:30 |
| Sun 29 Nov, 10:00 | Sun 29 Nov, 15:30 |
The same schedule in other places
Quartz
Quartz has a seconds field in front, uses ? in one day field, and counts Sunday as 1:
0 0 10 ? * 7,1GitHub Actions
Scheduled workflows run in UTC unless you add a time zone. In the workflow file:
on:
schedule:
- cron: '0 10 * * 6,0'Kubernetes CronJob
In a CronJob manifest the schedule goes in spec.schedule. Without spec.timeZone, it is read in the time zone of the cluster's controller:
spec:
schedule: "0 10 * * 6,0"
timeZone: "Etc/UTC"A crontab line to copy
The command is made up. Replace it with your own and use full paths:
0 10 * * SAT,SUN /home/me/bin/weekend-digest.sh >> /home/me/weekend.log 2>&1Questions
Do all cron programs accept names like SAT?
Vixie-style cron documents three-letter names in any case. GitHub Actions lists SUN-SAT. Kubernetes lists sun to sat in lower case. Quartz uses SUN-SAT.
This is an independent guide and tool. It is not connected with crontab.guru, Quartz, GitHub, Kubernetes, Spring or the Linux projects named here. Product names belong to their owners.