Cron: Every Thursday
0 0 * * 4 fires once a week, every Thursday at midnight — day-of-week 4 in standard cron. Thursday sits just before the weekend, making it a common choice for pre-weekend reports, end-of-sprint automation, and jobs that need to complete before Friday wind-down.
0 0 * * 4
Examples & Variations
Common Mistakes
- Scheduling a Thursday job that a Friday process depends on without enough buffer — if Thursday's run is delayed, Friday's job may run against stale data.
- Assuming a Thursday deploy or release is 'safer' than Friday by default — it still carries weekend-adjacent risk if something breaks late in the day.
- Overlooking that many biweekly sprint cadences land differently each cycle — a Thursday cron job tied to 'sprint end' needs application logic, not just a day-of-week field, to actually track sprint boundaries.
Best Practices
- If a Friday process depends on Thursday's output, add a health check or alert if Thursday's job hasn't completed by a certain time, rather than assuming success.
- For end-of-week reporting, Thursday afternoon often captures a fuller week's data than an early Friday run while still leaving buffer before the weekend.
- Keep sprint- or cycle-based logic (biweekly, etc.) in application code — cron's day-of-week field can't express anything beyond a fixed weekly recurrence.
Frequently Asked Questions
- What number represents Thursday in cron?
- 4. Standard cron's day-of-week field runs 0 (Sunday) through 6 (Saturday), placing Thursday at index 4.
- How do I run a job every Thursday except the last one of the month?
- Standard cron can't express 'except the last occurrence' directly — you'd need application logic to check the date and skip execution when appropriate, since cron only evaluates the schedule, not conditional business rules.
- Can I combine Thursday with a specific week of the month?
- Not in standard POSIX cron. Quartz Scheduler's # syntax (e.g. 5#4 for the 4th Thursday) supports this, but standard Vixie cron used on Linux does not.