⚡
fasttools.me
Run Cron Job Every Weekday Mon-Fri (0 0 * * 1-5)
Business Days • Monday Through Friday

Run Cron Job Every Weekday Mon-Fri (0 0 * * 1-5)

Run cron jobs every weekday Monday through Friday (0 0 * * 1-5). Visual syntax breakdown, next run dates, and business automation templates.

Direct Answer Definition

To run a cron job on weekdays only (Monday through Friday), use the expression `0 0 * * 1-5`. The range `1-5` in the fifth field restricts execution to days 1 (Monday) through 5 (Friday), completely skipping Saturday (6) and Sunday (0).

POSIX Cron Expression (5-Field)
Valid Syntax
Natural Language Schedule

At 00:00, Monday through Friday

Standard Schedule PresetsClick to load

Interactive 5-Field Workbench

Adjust individual cron segments in real time with instant two-way synchronization.

1. Minute0
0 – 59
2. Hour0
0 – 23 (24h)
3. Day of Month*
1 – 31
4. Month*
1 – 12 (Jan – Dec)
Select Month
5. Day of Week1-5
0 – 6 (Sun – Sat)
Select Day

Next 5 Scheduled Executions

Real-time schedule timetable projected forward from current timestamp.

12026-10-08 18:00:00 UTC
in 8h 57m
22026-10-11 18:00:00 UTC
in 3d 8h
32026-10-12 18:00:00 UTC
in 4d 8h
42026-10-13 18:00:00 UTC
in 5d 8h
52026-10-14 18:00:00 UTC
in 6d 8h

Crontab Command Snippet

Enter your executable command or script path to generate the full crontab configuration line.

Ready to paste in `crontab -e`0 0 * * 1-5 curl -fsS https://example.com/cron-job
Runs in system timezone or explicit TZ variablePOSIX Spec
Advertisement
Sponsored Developer Space
Cron Field Syntax Mapping

Field-by-Field Breakdown of `0 0 * * 1-5`

PositionField NameAllowed ValuesValue in `0 0 * * 1-5`Evaluation Meaning
1Minute0 – 5900 (At minute 0)
2Hour0 – 2300 (At midnight / 00:00)
3Day of Month1 – 31** (Every day of the month)
4Month1 – 12** (Every month)
5Day of Week0 – 6 (Sun-Sat)1-51-5 (Monday through Friday)
Technical Engineering Analysis

POSIX Day-of-Week Range Architecture

In standard POSIX cron syntax, days of the week are indexed starting with Sunday as 0 (and in many implementations also 7). The range `1-5` specifies Monday, Tuesday, Wednesday, Thursday, and Friday. Some modern implementations also accept the named string `MON-FRI`.

Weekday scheduling is essential for fintech, business reporting, and B2B SaaS applications where downstream clearing houses, stock markets, and banking payment rails operate on strict business day calendars.

When both Day-of-Month and Day-of-Week are specified, POSIX enforces a union (OR) rule. However, because Day-of-Month is an asterisk (`*`) in `0 0 * * 1-5`, only the weekday restriction applies, ensuring clean 5-day weekly execution.

Real-World Server Implementations

Common Production Scenarios for `0 0 * * 1-5`

Case 01

Daily B2B Settlement & Invoicing Run

Processes queued client invoices and submits ACH Direct Debit batches to Stripe or banking partner APIs on business days.

/usr/bin/node /var/www/billing/process_settlement.js
Case 02

Automated Standup & Slack Team Briefing

Dispatches morning status prompts and ticket digests to developer engineering channels on Monday through Friday.

/usr/bin/curl -fsS -X POST -d '{"text":"Morning Standup"}' https://hooks.slack.com/services/...
Case 03

Trading API Cache Warming & Stock Pre-Market

Pre-warms market indices and financial ticker caches before market open (e.g. 09:00 AM Eastern) on weekdays.

/usr/bin/python3 /opt/trading/premarket_cache.py
Operational Traps & Failure Modes

Production Gotchas When Running `0 0 * * 1-5`

  • Bank Holidays: Cron does not know national or federal holidays. If your script must avoid bank holidays (e.g. Labor Day, Christmas), your code must check a holiday calendar internally.
  • Weekend Transition: Friday's midnight run executes at the start of Friday (00:00). If you want end-of-day Friday processing, schedule at `23:59 * * 5`.
  • Sunday Indexing: Remember that Sunday can be both `0` and `7` in Vixie Cron. Always use `1` for Monday to avoid off-by-one errors.

Frequently Asked Questions About `0 0 * * 1-5`

Does `1-5` include Sunday?

No. Day 1 is Monday, Day 2 is Tuesday, Day 3 is Wednesday, Day 4 is Thursday, and Day 5 is Friday. Sunday is day 0 (and day 7).

Can I use `MON-FRI` instead of `1-5`?

Yes, modern Linux distributions allow three-letter day names: `0 0 * * MON-FRI`. It behaves identically to `0 0 * * 1-5`.

How do I run a job at 9 AM on weekdays?

Set the hour field to `9`: `0 9 * * 1-5 /path/to/script.sh`. The job will execute at 09:00 AM every Monday through Friday.

Related Cron Schedule Generators